UNPKG

node-api-request

Version:

Using Node-API-Request for Simplified HTTP Requests in Node.js

45 lines (44 loc) 1.64 kB
"use strict"; 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;