whole_func_string: function requestWithToken(options, params, body = {}, headers = {}, customToken = null, tokenType = 'Bearer') {
    const cloned = cloneDeep(options);
    if (params) { cloned.route = parameterizeRoute(cloned.route, params); }
    const requestHeaders = Object.assign({}, headers, {
      Authorization: (done) => {
        if (customToken !== null) {
          done(`${tokenType} ${customToken}`);
        } else {
          Storage.getToken(options.storageOveride).then((storedToken) => {
            done(`${tokenType} ${storedToken}`);
          });
        }
      },
    });
    return callRequest(cloned, body, requestHeaders);
  }
func_code_string: function requestWithToken(options, params, body = {}, headers = {}, customToken = null, tokenType = 'Bearer') {
    const cloned = cloneDeep(options);
    if (params) { cloned.route = parameterizeRoute(cloned.route, params); }
    const requestHeaders = Object.assign({}, headers, {
      Authorization: (done) => {
        if (customToken !== null) {
          done(`${tokenType} ${customToken}`);
        } else {
          Storage.getToken(options.storageOveride).then((storedToken) => {
            done(`${tokenType} ${storedToken}`);
          });
        }
      },
    });
    return callRequest(cloned, body, requestHeaders);
  }
func_documentation_string: Call a api request and set Auth header
  @param  {Object} options - {method, token, route, external, form, headers}
  @param  {Object} params
  @param  {Object} body
  @param  {Object} headers
  @param  {String} customToken