in salesforce/lib/connection.js [125:168]
request(options) {
if (typeof (options) === "string") {
options = { method: "GET", url: request };
}
if (options.url[0] === "/") {
if (options.url.indexOf("/services/") === 0) {
options.url = this.instanceUrl + options.url;
} else {
options.url = this.baseUrl() + options.url;
}
}
options.headers = options.headers || {};
if (this.accessToken) {
options.headers.Authorization = "Bearer " + this.accessToken;
}
if (this.callOptions) {
let callOptions = [];
for (let name in this.callOptions) {
callOptions.push(name + "=" + this.callOptions[name]);
}
options.headers["Sforce-Call-Options"] = callOptions.join(", ");
}
options.resolveWithFullResponse = true;
this.logger.debug("<request> method=" + options.method + ", url=" + options.url);
let requestTime = Date.now();
return request(options)
.then((response) => {
let responseTime = Date.now();
this.logger.debug("elappsed time : " + (responseTime - requestTime) + "msec");
this.logger.debug("<response> status=" + response.statusCode + ", url=" + request.url);
return this.getResponseBody(response);
})
.catch((error) => {
let responseTime = Date.now();
this.logger.debug("elappsed time : " + (responseTime - requestTime) + "msec");
this.logger.error(error);
let err = new Error(error.message);
err.name = error.errorCode;
for (let key in error) { err[key] = error[key]; }
throw err;
});
}