node-api-request
Version:
Using Node-API-Request for Simplified HTTP Requests in Node.js
45 lines (44 loc) • 1.64 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var request = require("request");
var METHODS_WITH_NO_BODY = ['GET', 'HEAD', 'DELETE'];
var NodeApiRequest = /** @class */ (function () {
function NodeApiRequest() {
}
NodeApiRequest.sendRequest = function (options) {
return new Promise(function (resolve, reject) {
request({
url: options.url,
method: options.method || "GET",
headers: options.headers,
body: NodeApiRequest.methodHasNoBody(options.method || 'GET') ? undefined : options.body,
params: NodeApiRequest.getQueryParams(options),
json: true,
}, function (error, response, body) {
if (error) {
reject(error);
}
else {
var apiResponse = {
status: response.statusCode,
body: body,
};
resolve(apiResponse);
}
});
});
};
NodeApiRequest.methodHasNoBody = function (method) {
return METHODS_WITH_NO_BODY.indexOf(method) !== -1;
};
NodeApiRequest.getQueryParams = function (req) {
var queryParams = undefined;
var shouldUseDataAsParams = req.body && (typeof req.body === 'object') && NodeApiRequest.methodHasNoBody(req.method || 'GET');
if (shouldUseDataAsParams) {
queryParams = req.body;
}
return queryParams;
};
return NodeApiRequest;
}());
exports.default = NodeApiRequest;