simple-requests
Version:
A library for performing simple http(s) requests.
47 lines (46 loc) • 1.65 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.post = void 0;
var http_1 = __importDefault(require("http"));
var https_1 = __importDefault(require("https"));
var form_data_1 = __importDefault(require("form-data"));
var url_1 = require("url");
var endMethod_1 = __importDefault(require("./endMethod"));
var setOptions_1 = __importDefault(require("./setOptions"));
exports.post = function (url, options) {
var response = {};
var data = '';
var module; // either http or https.
options = options ? options : {};
var parsedUrl = new url_1.URL(url);
setOptions_1.default('POST', parsedUrl, options);
if (options.protocol === 'https:') {
module = https_1.default;
}
else {
module = http_1.default;
}
var promise = new Promise(function (resolve) {
var req = module.request(options, function (res) {
res.setEncoding('utf-8');
res.on('data', function (chunk) {
data += chunk;
});
res.on('end', function () { return endMethod_1.default(res, data, response, resolve); });
});
if (options === null || options === void 0 ? void 0 : options.data) {
if (options.data instanceof form_data_1.default) {
options.data.pipe(req);
}
else {
req.write(options.data);
}
req.end();
}
});
return promise;
};
exports.default = exports.post;