Socket
Socket
Sign inDemoInstall

http-call

Package Overview
Dependencies
Maintainers
1
Versions
62
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

http-call - npm Package Compare versions

Comparing version 1.0.12 to 1.0.13

appveyor.yml

380

lib/http.js

@@ -7,42 +7,2 @@ 'use strict';

var _assign = require('babel-runtime/core-js/object/assign');
var _assign2 = _interopRequireDefault(_assign);
var _getIterator2 = require('babel-runtime/core-js/get-iterator');
var _getIterator3 = _interopRequireDefault(_getIterator2);
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _promise = require('babel-runtime/core-js/promise');
var _promise2 = _interopRequireDefault(_promise);
var _util = require('util');

@@ -71,10 +31,6 @@

function concat(stream) {
return new _promise2.default(function (resolve) {
var strings = [];
stream.on('data', function (data) {
return strings.push(data);
});
stream.on('end', function () {
return resolve(strings.join(''));
});
return new Promise(resolve => {
let strings = [];
stream.on('data', data => strings.push(data));
stream.on('end', () => resolve(strings.join('')));
});

@@ -89,6 +45,4 @@ }

*/
// eslint-disable-line
/* global
http$IncomingMessage
*/

@@ -99,95 +53,39 @@ /**

*/
var HTTP = function () {
(0, _createClass3.default)(HTTP, null, [{
key: 'get',
class HTTP {
/**
* make an http GET request
* @param {string} url - url or path to call
* @param {RequestOptions} options
* @returns {Promise}
* @example
* ```js
* const http = require('http-call')
* await http.get('https://google.com')
* ```
*/
static async get(url, options = {}) {
let http = new this(url, { method: 'GET' }, options);
await http.request();
return http.body;
}
/**
* make an http GET request
* @param {string} url - url or path to call
* @param {RequestOptions} options
* @returns {Promise}
* @example
* ```js
* const http = require('http-call')
* await http.get('https://google.com')
* ```
*/
value: function () {
var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(url) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var http;
return _regenerator2.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
http = new this(url, { method: 'GET' }, options);
_context.next = 3;
return http.request();
/**
* make a streaming request
* @param {string} url - url or path to call
* @param {RequestOptions} options
* @returns {Promise}
* @example
* ```js
* const http = require('http-call')
* let rsp = await http.get('https://google.com')
* rsp.on('data', console.log)
* ```
*/
static async stream(url, options = {}) {
let http = new this(url, { method: 'GET', raw: true }, options);
await http.request();
return http.response;
}
case 3:
return _context.abrupt('return', http.body);
case 4:
case 'end':
return _context.stop();
}
}
}, _callee, this);
}));
function get(_x) {
return _ref.apply(this, arguments);
}
return get;
}()
/**
* make a streaming request
* @param {string} url - url or path to call
* @param {RequestOptions} options
* @returns {Promise}
* @example
* ```js
* const http = require('http-call')
* let rsp = await http.get('https://google.com')
* rsp.on('data', console.log)
* ```
*/
}, {
key: 'stream',
value: function () {
var _ref2 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee2(url) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var http;
return _regenerator2.default.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
http = new this(url, { method: 'GET', raw: true }, options);
_context2.next = 3;
return http.request();
case 3:
return _context2.abrupt('return', http.response);
case 4:
case 'end':
return _context2.stop();
}
}
}, _callee2, this);
}));
function stream(_x3) {
return _ref2.apply(this, arguments);
}
return stream;
}()
}]);
function HTTP(url) {
(0, _classCallCheck3.default)(this, HTTP);
constructor(url, ...options) {
this.method = 'GET';

@@ -200,51 +98,15 @@ this.host = 'localhost';

this.headers = {
'user-agent': _package2.default.name + '/' + _package2.default.version + ' node-' + process.version
'user-agent': `${_package2.default.name}/${_package2.default.version} node-${process.version}`
};
this.HTTPError = class HTTPError extends Error {
this.HTTPError = function (_Error) {
(0, _inherits3.default)(HTTPError, _Error);
function HTTPError(http, body) {
(0, _classCallCheck3.default)(this, HTTPError);
body = '\n' + _util2.default.inspect(body);
var _this = (0, _possibleConstructorReturn3.default)(this, (HTTPError.__proto__ || (0, _getPrototypeOf2.default)(HTTPError)).call(this, 'HTTP Error ' + http.response.statusCode + ' for ' + http.method + ' ' + http.url + body));
_this.statusCode = http.response.statusCode;
return _this;
constructor(http, body) {
body = `\n${_util2.default.inspect(body)}`;
super(`HTTP Error ${http.response.statusCode} for ${http.method} ${http.url}${body}`);
this.statusCode = http.response.statusCode;
}
};
return HTTPError;
}(Error);
for (var _len = arguments.length, options = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
options[_key - 1] = arguments[_key];
}
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = (0, _getIterator3.default)(options), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var o = _step.value;
this.addOptions(o);
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
var u = _url2.default.parse(url);
for (let o of options) this.addOptions(o);
let u = _url2.default.parse(url);
this.protocol = u.protocol || this.protocol;

@@ -256,123 +118,39 @@ this.host = u.host || this.host;

(0, _createClass3.default)(HTTP, [{
key: 'addOptions',
value: function addOptions(options) {
var headers = (0, _assign2.default)(this.headers, options.headers);
(0, _assign2.default)(this, options);
this.headers = headers;
}
}, {
key: 'request',
value: function () {
var _ref3 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee3() {
return _regenerator2.default.wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
_context3.next = 2;
return this.performRequest();
addOptions(options) {
let headers = Object.assign(this.headers, options.headers);
Object.assign(this, options);
this.headers = headers;
}
case 2:
this.response = _context3.sent;
async request() {
this.response = await this.performRequest();
if (this.response.statusCode >= 200 && this.response.statusCode < 300) {
if (!this.raw) this.body = await this.parse(this.response);
} else throw new this.HTTPError(this, (await this.parse(this.response)));
}
if (!(this.response.statusCode >= 200 && this.response.statusCode < 300)) {
_context3.next = 10;
break;
}
get http() {
return this.protocol === 'https:' ? _https2.default : _http2.default;
}
if (this.raw) {
_context3.next = 8;
break;
}
get url() {
return `${this.protocol}//${this.host}${this.path}`;
}
_context3.next = 7;
return this.parse(this.response);
performRequest() {
return new Promise((resolve, reject) => {
let request = this.http.request(this, resolve);
request.on('error', reject);
request.end();
});
}
case 7:
this.body = _context3.sent;
async parse(response) {
let body = await concat(response);
return response.headers['content-type'] === 'application/json' ? JSON.parse(body) : body;
}
case 8:
_context3.next = 16;
break;
}
case 10:
_context3.t0 = this.HTTPError;
_context3.t1 = this;
_context3.next = 14;
return this.parse(this.response);
case 14:
_context3.t2 = _context3.sent;
throw new _context3.t0(_context3.t1, _context3.t2);
case 16:
case 'end':
return _context3.stop();
}
}
}, _callee3, this);
}));
function request() {
return _ref3.apply(this, arguments);
}
return request;
}()
}, {
key: 'performRequest',
value: function performRequest() {
var _this2 = this;
return new _promise2.default(function (resolve, reject) {
var request = _this2.http.request(_this2, resolve);
request.on('error', reject);
request.end();
});
}
}, {
key: 'parse',
value: function () {
var _ref4 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee4(response) {
var body;
return _regenerator2.default.wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
_context4.next = 2;
return concat(response);
case 2:
body = _context4.sent;
return _context4.abrupt('return', response.headers['content-type'] === 'application/json' ? JSON.parse(body) : body);
case 4:
case 'end':
return _context4.stop();
}
}
}, _callee4, this);
}));
function parse(_x5) {
return _ref4.apply(this, arguments);
}
return parse;
}()
}, {
key: 'http',
get: function get() {
return this.protocol === 'https:' ? _https2.default : _http2.default;
}
}, {
key: 'url',
get: function get() {
return this.protocol + '//' + this.host + this.path;
}
}]);
return HTTP;
}();
exports.default = HTTP;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9odHRwLmpzIl0sIm5hbWVzIjpbImNvbmNhdCIsInN0cmVhbSIsInN0cmluZ3MiLCJvbiIsInB1c2giLCJkYXRhIiwicmVzb2x2ZSIsImpvaW4iLCJIVFRQIiwidXJsIiwib3B0aW9ucyIsImh0dHAiLCJtZXRob2QiLCJyZXF1ZXN0IiwiYm9keSIsInJhdyIsInJlc3BvbnNlIiwiaG9zdCIsInBvcnQiLCJwcm90b2NvbCIsInBhdGgiLCJoZWFkZXJzIiwibmFtZSIsInZlcnNpb24iLCJwcm9jZXNzIiwiSFRUUEVycm9yIiwiaW5zcGVjdCIsInN0YXR1c0NvZGUiLCJFcnJvciIsIm8iLCJhZGRPcHRpb25zIiwidSIsInBhcnNlIiwicGVyZm9ybVJlcXVlc3QiLCJyZWplY3QiLCJlbmQiLCJKU09OIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSUE7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7Ozs7O0FBRUEsU0FBU0EsTUFBVCxDQUFpQkMsTUFBakIsRUFBeUI7QUFDdkIsU0FBTyxzQkFBWSxtQkFBVztBQUM1QixRQUFJQyxVQUFVLEVBQWQ7QUFDQUQsV0FBT0UsRUFBUCxDQUFVLE1BQVYsRUFBa0I7QUFBQSxhQUFRRCxRQUFRRSxJQUFSLENBQWFDLElBQWIsQ0FBUjtBQUFBLEtBQWxCO0FBQ0FKLFdBQU9FLEVBQVAsQ0FBVSxLQUFWLEVBQWlCO0FBQUEsYUFBTUcsUUFBUUosUUFBUUssSUFBUixDQUFhLEVBQWIsQ0FBUixDQUFOO0FBQUEsS0FBakI7QUFDRCxHQUpNLENBQVA7QUFLRDs7QUFLRDs7Ozs7OztBQXBCQTs7OztBQWtDQTs7OztJQUlNQyxJOzs7O0FBQ0o7Ozs7Ozs7Ozs7Ozs2RkFXa0JDLEc7WUFBS0MsTyx1RUFBVSxFOzs7Ozs7QUFDM0JDLG9CLEdBQU8sSUFBSSxJQUFKLENBQVNGLEdBQVQsRUFBYyxFQUFDRyxRQUFRLEtBQVQsRUFBZCxFQUErQkYs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O0FBQUE7O0FBQ2hCLGFBQU8sc0JBQVksVUFBQ1YsT0FBRCxFQUFVNEIsTUFBVixFQUFxQjtBQUN0QyxZQUFJckIsVUFBVSxPQUFLRixJQUFMLENBQVVFLE9BQVYsU0FBd0JQLE9BQXhCLENBQWQ7QUFDQU8sZ0JBQVFWLEVBQVIsQ0FBVyxPQUFYLEVBQW9CK0IsTUFBcEI7QUFDQXJCLGdCQUFRc0IsR0FBUjtBQUNELE9BSk0sQ0FBUDtBQUtEOzs7OytGQUVZbkIsUTs7Ozs7Ozt1QkFDTWhCLE9BQU9nQixRQUFQLEM7OztBQUFiRixvQjtrREFDR0UsU0FBU0ssT0FBVCxDQUFpQixjQUFqQixNQUFxQyxrQkFBckMsR0FDSGUsS0FBS0osS0FBTCxDQUFXbEIsSUFBWCxDQURHLEdBQ2dCQSxJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7d0JBbkJpQjtBQUN4QyxhQUFPLEtBQUtLLFFBQUwsS0FBa0IsUUFBbEIsbUNBQVA7QUFDRDs7O3dCQUVrQjtBQUNqQixhQUFVLEtBQUtBLFFBQWYsVUFBNEIsS0FBS0YsSUFBakMsR0FBd0MsS0FBS0csSUFBN0M7QUFDRDs7Ozs7a0JBMkJZWixJIiwiZmlsZSI6Imh0dHAuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyogZ2xvYmFsXG4gIGh0dHAkSW5jb21pbmdNZXNzYWdlXG4qL1xuaW1wb3J0IHV0aWwgZnJvbSAndXRpbCdcbmltcG9ydCB1cmkgZnJvbSAndXJsJ1xuaW1wb3J0IHBqc29uIGZyb20gJy4uL3BhY2thZ2UuanNvbidcbmltcG9ydCBodHRwIGZyb20gJ2h0dHAnXG5pbXBvcnQgaHR0cHMgZnJvbSAnaHR0cHMnXG5cbmZ1bmN0aW9uIGNvbmNhdCAoc3RyZWFtKSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICBsZXQgc3RyaW5ncyA9IFtdXG4gICAgc3RyZWFtLm9uKCdkYXRhJywgZGF0YSA9PiBzdHJpbmdzLnB1c2goZGF0YSkpXG4gICAgc3RyZWFtLm9uKCdlbmQnLCAoKSA9PiByZXNvbHZlKHN0cmluZ3Muam9pbignJykpKVxuICB9KVxufVxuXG50eXBlIE1ldGhvZCA9IHwgXCJHRVRcIiB8IFwiUE9TVFwiIHwgXCJQQVRDSFwiIHwgXCJQVVRcIiB8IFwiREVMRVRFXCJcbnR5cGUgSGVhZGVycyA9IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gUmVxdWVzdE9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7T2JqZWN0LjxzdHJpbmcsIHN0cmluZz59IGhlYWRlcnMgLSByZXF1ZXN0IGhlYWRlcnNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBtZXRob2QgLSByZXF1ZXN0IG1ldGhvZCAoR0VUL1BPU1QvZXRjKVxuICogQHByb3BlcnR5IHsoc3RyaW5nKX0gYm9keSAtIHJlcXVlc3QgYm9keS4gU2V0cyBjb250ZW50LXR5cGUgdG8gYXBwbGljYXRpb24vanNvbiBhbmQgc3RyaW5naWZpZXMgd2hlbiBvYmplY3RcbiAqL1xudHlwZSBSZXF1ZXN0T3B0aW9ucyA9IHtcbiAgaGVhZGVycz86IEhlYWRlcnNcbn1cblxudHlwZSBKc29uID0gfCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbCB8IEpzb25PYmplY3QgfCBKc29uQXJyYXlcbnR5cGUgSnNvbk9iamVjdCA9IHsgW2tleTpzdHJpbmddOiBKc29uIH1cbnR5cGUgSnNvbkFycmF5ID0gSnNvbltdXG5cbi8qKlxuICogVXRpbGl0eSBmb3Igc2ltcGxlIEhUVFAgY2FsbHNcbiAqIEBjbGFzc1xuICovXG5jbGFzcyBIVFRQIHtcbiAgLyoqXG4gICAqIG1ha2UgYW4gaHR0cCBHRVQgcmVxdWVzdFxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsIC0gdXJsIG9yIHBhdGggdG8gY2FsbFxuICAgKiBAcGFyYW0ge1JlcXVlc3RPcHRpb25zfSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHtQcm9taXNlfVxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBqc1xuICAgKiBjb25zdCBodHRwID0gcmVxdWlyZSgnaHR0cC1jYWxsJylcbiAgICogYXdhaXQgaHR0cC5nZXQoJ2h0dHBzOi8vZ29vZ2xlLmNvbScpXG4gICAqIGBgYFxuICAgKi9cbiAgc3RhdGljIGFzeW5jIGdldCAodXJsLCBvcHRpb25zID0ge30pIHtcbiAgICBsZXQgaHR0cCA9IG5ldyB0aGlzKHVybCwge21ldGhvZDogJ0dFVCd9LCBvcHRpb25zKVxuICAgIGF3YWl0IGh0dHAucmVxdWVzdCgpXG4gICAgcmV0dXJuIGh0dHAuYm9keVxuICB9XG5cbiAgLyoqXG4gICAqIG1ha2UgYSBzdHJlYW1pbmcgcmVxdWVzdFxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsIC0gdXJsIG9yIHBhdGggdG8gY2FsbFxuICAgKiBAcGFyYW0ge1JlcXVlc3RPcHRpb25zfSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHtQcm9taXNlfVxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBqc1xuICAgKiBjb25zdCBodHRwID0gcmVxdWlyZSgnaHR0cC1jYWxsJylcbiAgICogbGV0IHJzcCA9IGF3YWl0IGh0dHAuZ2V0KCdodHRwczovL2dvb2dsZS5jb20nKVxuICAgKiByc3Aub24oJ2RhdGEnLCBjb25zb2xlLmxvZylcbiAgICogYGBgXG4gICAqL1xuICBzdGF0aWMgYXN5bmMgc3RyZWFtICh1cmwsIG9wdGlvbnMgPSB7fSkge1xuICAgIGxldCBodHRwID0gbmV3IHRoaXModXJsLCB7bWV0aG9kOiAnR0VUJywgcmF3OiB0cnVlfSwgb3B0aW9ucylcbiAgICBhd2FpdCBodHRwLnJlcXVlc3QoKVxuICAgIHJldHVybiBodHRwLnJlc3BvbnNlXG4gIH1cblxuICBtZXRob2Q6IE1ldGhvZCA9ICdHRVQnXG4gIGhvc3QgPSAnbG9jYWxob3N0J1xuICBwb3J0ID0gMFxuICBwcm90b2NvbCA9ICdodHRwczonXG4gIHBhdGggPSAnLydcbiAgcmF3ID0gZmFsc2VcbiAgaGVhZGVyczogSGVhZGVycyA9IHtcbiAgICAndXNlci1hZ2VudCc6IGAke3Bqc29uLm5hbWV9LyR7cGpzb24udmVyc2lvbn0gbm9kZS0ke3Byb2Nlc3MudmVyc2lvbn1gXG4gIH1cbiAgcmVzcG9uc2U6IGh0dHAkSW5jb21pbmdNZXNzYWdlXG4gIGJvZHk6IEpzb25cblxuICBjb25zdHJ1Y3RvciAodXJsOiBzdHJpbmcsIC4uLm9wdGlvbnM6IFJlcXVlc3RPcHRpb25zW10pIHtcbiAgICBmb3IgKGxldCBvIG9mIG9wdGlvbnMpIHRoaXMuYWRkT3B0aW9ucyhvKVxuICAgIGxldCB1ID0gdXJpLnBhcnNlKHVybClcbiAgICB0aGlzLnByb3RvY29sID0gdS5wcm90b2NvbCB8fCB0aGlzLnByb3RvY29sXG4gICAgdGhpcy5ob3N0ID0gdS5ob3N0IHx8IHRoaXMuaG9zdFxuICAgIHRoaXMucG9ydCA9IHUucG9ydCB8fCB0aGlzLnBvcnQgfHwgKHRoaXMucHJvdG9jb2wgPT09ICdodHRwczonID8gNDQzIDogODApXG4gICAgdGhpcy5wYXRoID0gdS5wYXRoIHx8IHRoaXMucGF0aFxuICB9XG5cbiAgYWRkT3B0aW9ucyAob3B0aW9uczogUmVxdWVzdE9wdGlvbnMpIHtcbiAgICBsZXQgaGVhZGVycyA9IE9iamVjdC5hc3NpZ24odGhpcy5oZWFkZXJzLCBvcHRpb25zLmhlYWRlcnMpXG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCBvcHRpb25zKVxuICAgIHRoaXMuaGVhZGVycyA9IGhlYWRlcnNcbiAgfVxuXG4gIGFzeW5jIHJlcXVlc3QgKCkge1xuICAgIHRoaXMucmVzcG9uc2UgPSBhd2FpdCB0aGlzLnBlcmZvcm1SZXF1ZXN0KClcbiAgICBpZiAodGhpcy5yZXNwb25zZS5zdGF0dXNDb2RlID49IDIwMCAmJiB0aGlzLnJlc3BvbnNlLnN0YXR1c0NvZGUgPCAzMDApIHtcbiAgICAgIGlmICghdGhpcy5yYXcpIHRoaXMuYm9keSA9IGF3YWl0IHRoaXMucGFyc2UodGhpcy5yZXNwb25zZSlcbiAgICB9IGVsc2UgdGhyb3cgbmV3IHRoaXMuSFRUUEVycm9yKHRoaXMsIGF3YWl0IHRoaXMucGFyc2UodGhpcy5yZXNwb25zZSkpXG4gIH1cblxuICBnZXQgaHR0cCAoKTogKHR5cGVvZiBodHRwIHwgdHlwZW9mIGh0dHBzKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvdG9jb2wgPT09ICdodHRwczonID8gaHR0cHMgOiBodHRwXG4gIH1cblxuICBnZXQgdXJsICgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnByb3RvY29sfS8vJHt0aGlzLmhvc3R9JHt0aGlzLnBhdGh9YFxuICB9XG5cbiAgcGVyZm9ybVJlcXVlc3QgKCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBsZXQgcmVxdWVzdCA9IHRoaXMuaHR0cC5yZXF1ZXN0KHRoaXMsIHJlc29sdmUpXG4gICAgICByZXF1ZXN0Lm9uKCdlcnJvcicsIHJlamVjdClcbiAgICAgIHJlcXVlc3QuZW5kKClcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgcGFyc2UgKHJlc3BvbnNlOiBodHRwJEluY29taW5nTWVzc2FnZSkge1xuICAgIGxldCBib2R5ID0gYXdhaXQgY29uY2F0KHJlc3BvbnNlKVxuICAgIHJldHVybiByZXNwb25zZS5oZWFkZXJzWydjb250ZW50LXR5cGUnXSA9PT0gJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICA/IEpTT04ucGFyc2UoYm9keSkgOiBib2R5XG4gIH1cblxuICBIVFRQRXJyb3IgPSBjbGFzcyBIVFRQRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgc3RhdHVzQ29kZTogbnVtYmVyXG5cbiAgICBjb25zdHJ1Y3RvciAoaHR0cDogSFRUUCwgYm9keTogSnNvbikge1xuICAgICAgYm9keSA9IGBcXG4ke3V0aWwuaW5zcGVjdChib2R5KX1gXG4gICAgICBzdXBlcihgSFRUUCBFcnJvciAke2h0dHAucmVzcG9uc2Uuc3RhdHVzQ29kZX0gZm9yICR7aHR0cC5tZXRob2R9ICR7aHR0cC51cmx9JHtib2R5fWApXG4gICAgICB0aGlzLnN0YXR1c0NvZGUgPSBodHRwLnJlc3BvbnNlLnN0YXR1c0NvZGVcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgSFRUUFxuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9odHRwLmpzIl0sIm5hbWVzIjpbImNvbmNhdCIsInN0cmVhbSIsIlByb21pc2UiLCJyZXNvbHZlIiwic3RyaW5ncyIsIm9uIiwiZGF0YSIsInB1c2giLCJqb2luIiwiSFRUUCIsImdldCIsInVybCIsIm9wdGlvbnMiLCJodHRwIiwibWV0aG9kIiwicmVxdWVzdCIsImJvZHkiLCJyYXciLCJyZXNwb25zZSIsImNvbnN0cnVjdG9yIiwiaG9zdCIsInBvcnQiLCJwcm90b2NvbCIsInBhdGgiLCJoZWFkZXJzIiwibmFtZSIsInZlcnNpb24iLCJwcm9jZXNzIiwiSFRUUEVycm9yIiwiRXJyb3IiLCJpbnNwZWN0Iiwic3RhdHVzQ29kZSIsIm8iLCJhZGRPcHRpb25zIiwidSIsInBhcnNlIiwiT2JqZWN0IiwiYXNzaWduIiwicGVyZm9ybVJlcXVlc3QiLCJyZWplY3QiLCJlbmQiLCJKU09OIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7Ozs7QUFFQSxTQUFTQSxNQUFULENBQWlCQyxNQUFqQixFQUF5QjtBQUN2QixTQUFPLElBQUlDLE9BQUosQ0FBWUMsV0FBVztBQUM1QixRQUFJQyxVQUFVLEVBQWQ7QUFDQUgsV0FBT0ksRUFBUCxDQUFVLE1BQVYsRUFBa0JDLFFBQVFGLFFBQVFHLElBQVIsQ0FBYUQsSUFBYixDQUExQjtBQUNBTCxXQUFPSSxFQUFQLENBQVUsS0FBVixFQUFpQixNQUFNRixRQUFRQyxRQUFRSSxJQUFSLENBQWEsRUFBYixDQUFSLENBQXZCO0FBQ0QsR0FKTSxDQUFQO0FBS0Q7O0FBS0Q7Ozs7OztBQVV3RTs7O0FBSXhFOzs7O0FBSUEsTUFBTUMsSUFBTixDQUFXO0FBQ1Q7Ozs7Ozs7Ozs7O0FBV0EsZUFBYUMsR0FBYixDQUFrQkMsR0FBbEIsRUFBdUJDLFVBQVUsRUFBakMsRUFBcUM7QUFDbkMsUUFBSUMsT0FBTyxJQUFJLElBQUosQ0FBU0YsR0FBVCxFQUFjLEVBQUNHLFFB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S2pCLFFBQWhCLENBQS9CLEVBQU47QUFDUjs7QUFFRCxNQUFJTCxJQUFKLEdBQTBDO0FBQ3hDLFdBQU8sS0FBS1MsUUFBTCxLQUFrQixRQUFsQixtQ0FBUDtBQUNEOztBQUVELE1BQUlYLEdBQUosR0FBbUI7QUFDakIsV0FBUSxHQUFFLEtBQUtXLFFBQVMsS0FBSSxLQUFLRixJQUFLLEdBQUUsS0FBS0csSUFBSyxFQUFsRDtBQUNEOztBQUVEZSxtQkFBa0I7QUFDaEIsV0FBTyxJQUFJcEMsT0FBSixDQUFZLENBQUNDLE9BQUQsRUFBVW9DLE1BQVYsS0FBcUI7QUFDdEMsVUFBSXhCLFVBQVUsS0FBS0YsSUFBTCxDQUFVRSxPQUFWLENBQWtCLElBQWxCLEVBQXdCWixPQUF4QixDQUFkO0FBQ0FZLGNBQVFWLEVBQVIsQ0FBVyxPQUFYLEVBQW9Ca0MsTUFBcEI7QUFDQXhCLGNBQVF5QixHQUFSO0FBQ0QsS0FKTSxDQUFQO0FBS0Q7O0FBRUQsUUFBTUwsS0FBTixDQUFhakIsUUFBYixFQUE2QztBQUMzQyxRQUFJRixPQUFPLE1BQU1oQixPQUFPa0IsUUFBUCxDQUFqQjtBQUNBLFdBQU9BLFNBQVNNLE9BQVQsQ0FBaUIsY0FBakIsTUFBcUMsa0JBQXJDLEdBQ0hpQixLQUFLTixLQUFMLENBQVduQixJQUFYLENBREcsR0FDZ0JBLElBRHZCO0FBRUQ7O0FBMUZROztrQkF1R0lQLEkiLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBmbG93XG5cbmltcG9ydCB1dGlsIGZyb20gJ3V0aWwnXG5pbXBvcnQgdXJpIGZyb20gJ3VybCdcbmltcG9ydCBwanNvbiBmcm9tICcuLi9wYWNrYWdlLmpzb24nXG5pbXBvcnQgaHR0cCBmcm9tICdodHRwJ1xuaW1wb3J0IGh0dHBzIGZyb20gJ2h0dHBzJ1xuXG5mdW5jdGlvbiBjb25jYXQgKHN0cmVhbSkge1xuICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgbGV0IHN0cmluZ3MgPSBbXVxuICAgIHN0cmVhbS5vbignZGF0YScsIGRhdGEgPT4gc3RyaW5ncy5wdXNoKGRhdGEpKVxuICAgIHN0cmVhbS5vbignZW5kJywgKCkgPT4gcmVzb2x2ZShzdHJpbmdzLmpvaW4oJycpKSlcbiAgfSlcbn1cblxudHlwZSBNZXRob2QgPSB8IFwiR0VUXCIgfCBcIlBPU1RcIiB8IFwiUEFUQ0hcIiB8IFwiUFVUXCIgfCBcIkRFTEVURVwiXG50eXBlIEhlYWRlcnMgPSB7W2tleTogc3RyaW5nXTogc3RyaW5nfVxuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFJlcXVlc3RPcHRpb25zXG4gKiBAcHJvcGVydHkge09iamVjdC48c3RyaW5nLCBzdHJpbmc+fSBoZWFkZXJzIC0gcmVxdWVzdCBoZWFkZXJzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbWV0aG9kIC0gcmVxdWVzdCBtZXRob2QgKEdFVC9QT1NUL2V0YylcbiAqIEBwcm9wZXJ0eSB7KHN0cmluZyl9IGJvZHkgLSByZXF1ZXN0IGJvZHkuIFNldHMgY29udGVudC10eXBlIHRvIGFwcGxpY2F0aW9uL2pzb24gYW5kIHN0cmluZ2lmaWVzIHdoZW4gb2JqZWN0XG4gKi9cbnR5cGUgUmVxdWVzdE9wdGlvbnMgPSB7XG4gIGhlYWRlcnM/OiBIZWFkZXJzXG59XG5cbnR5cGUgSnNvbiA9IHwgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG51bGwgfCBKc29uT2JqZWN0IHwgSnNvbkFycmF5IC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbnR5cGUgSnNvbk9iamVjdCA9IHsgW2tleTpzdHJpbmddOiBKc29uIH1cbnR5cGUgSnNvbkFycmF5ID0gSnNvbltdXG5cbi8qKlxuICogVXRpbGl0eSBmb3Igc2ltcGxlIEhUVFAgY2FsbHNcbiAqIEBjbGFzc1xuICovXG5jbGFzcyBIVFRQIHtcbiAgLyoqXG4gICAqIG1ha2UgYW4gaHR0cCBHRVQgcmVxdWVzdFxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsIC0gdXJsIG9yIHBhdGggdG8gY2FsbFxuICAgKiBAcGFyYW0ge1JlcXVlc3RPcHRpb25zfSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHtQcm9taXNlfVxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBqc1xuICAgKiBjb25zdCBodHRwID0gcmVxdWlyZSgnaHR0cC1jYWxsJylcbiAgICogYXdhaXQgaHR0cC5nZXQoJ2h0dHBzOi8vZ29vZ2xlLmNvbScpXG4gICAqIGBgYFxuICAgKi9cbiAgc3RhdGljIGFzeW5jIGdldCAodXJsLCBvcHRpb25zID0ge30pIHtcbiAgICBsZXQgaHR0cCA9IG5ldyB0aGlzKHVybCwge21ldGhvZDogJ0dFVCd9LCBvcHRpb25zKVxuICAgIGF3YWl0IGh0dHAucmVxdWVzdCgpXG4gICAgcmV0dXJuIGh0dHAuYm9keVxuICB9XG5cbiAgLyoqXG4gICAqIG1ha2UgYSBzdHJlYW1pbmcgcmVxdWVzdFxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsIC0gdXJsIG9yIHBhdGggdG8gY2FsbFxuICAgKiBAcGFyYW0ge1JlcXVlc3RPcHRpb25zfSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHtQcm9taXNlfVxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGBqc1xuICAgKiBjb25zdCBodHRwID0gcmVxdWlyZSgnaHR0cC1jYWxsJylcbiAgICogbGV0IHJzcCA9IGF3YWl0IGh0dHAuZ2V0KCdodHRwczovL2dvb2dsZS5jb20nKVxuICAgKiByc3Aub24oJ2RhdGEnLCBjb25zb2xlLmxvZylcbiAgICogYGBgXG4gICAqL1xuICBzdGF0aWMgYXN5bmMgc3RyZWFtICh1cmwsIG9wdGlvbnMgPSB7fSkge1xuICAgIGxldCBodHRwID0gbmV3IHRoaXModXJsLCB7bWV0aG9kOiAnR0VUJywgcmF3OiB0cnVlfSwgb3B0aW9ucylcbiAgICBhd2FpdCBodHRwLnJlcXVlc3QoKVxuICAgIHJldHVybiBodHRwLnJlc3BvbnNlXG4gIH1cblxuICBtZXRob2Q6IE1ldGhvZCA9ICdHRVQnXG4gIGhvc3QgPSAnbG9jYWxob3N0J1xuICBwb3J0ID0gMFxuICBwcm90b2NvbCA9ICdodHRwczonXG4gIHBhdGggPSAnLydcbiAgcmF3ID0gZmFsc2VcbiAgaGVhZGVyczogSGVhZGVycyA9IHtcbiAgICAndXNlci1hZ2VudCc6IGAke3Bqc29uLm5hbWV9LyR7cGpzb24udmVyc2lvbn0gbm9kZS0ke3Byb2Nlc3MudmVyc2lvbn1gXG4gIH1cbiAgcmVzcG9uc2U6IGh0dHAkSW5jb21pbmdNZXNzYWdlXG4gIGJvZHk6IEpzb25cblxuICBjb25zdHJ1Y3RvciAodXJsOiBzdHJpbmcsIC4uLm9wdGlvbnM6IFJlcXVlc3RPcHRpb25zW10pIHtcbiAgICBmb3IgKGxldCBvIG9mIG9wdGlvbnMpIHRoaXMuYWRkT3B0aW9ucyhvKVxuICAgIGxldCB1ID0gdXJpLnBhcnNlKHVybClcbiAgICB0aGlzLnByb3RvY29sID0gdS5wcm90b2NvbCB8fCB0aGlzLnByb3RvY29sXG4gICAgdGhpcy5ob3N0ID0gdS5ob3N0IHx8IHRoaXMuaG9zdFxuICAgIHRoaXMucG9ydCA9IHUucG9ydCB8fCB0aGlzLnBvcnQgfHwgKHRoaXMucHJvdG9jb2wgPT09ICdodHRwczonID8gNDQzIDogODApXG4gICAgdGhpcy5wYXRoID0gdS5wYXRoIHx8IHRoaXMucGF0aFxuICB9XG5cbiAgYWRkT3B0aW9ucyAob3B0aW9uczogUmVxdWVzdE9wdGlvbnMpIHtcbiAgICBsZXQgaGVhZGVycyA9IE9iamVjdC5hc3NpZ24odGhpcy5oZWFkZXJzLCBvcHRpb25zLmhlYWRlcnMpXG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCBvcHRpb25zKVxuICAgIHRoaXMuaGVhZGVycyA9IGhlYWRlcnNcbiAgfVxuXG4gIGFzeW5jIHJlcXVlc3QgKCkge1xuICAgIHRoaXMucmVzcG9uc2UgPSBhd2FpdCB0aGlzLnBlcmZvcm1SZXF1ZXN0KClcbiAgICBpZiAodGhpcy5yZXNwb25zZS5zdGF0dXNDb2RlID49IDIwMCAmJiB0aGlzLnJlc3BvbnNlLnN0YXR1c0NvZGUgPCAzMDApIHtcbiAgICAgIGlmICghdGhpcy5yYXcpIHRoaXMuYm9keSA9IGF3YWl0IHRoaXMucGFyc2UodGhpcy5yZXNwb25zZSlcbiAgICB9IGVsc2UgdGhyb3cgbmV3IHRoaXMuSFRUUEVycm9yKHRoaXMsIGF3YWl0IHRoaXMucGFyc2UodGhpcy5yZXNwb25zZSkpXG4gIH1cblxuICBnZXQgaHR0cCAoKTogKHR5cGVvZiBodHRwIHwgdHlwZW9mIGh0dHBzKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvdG9jb2wgPT09ICdodHRwczonID8gaHR0cHMgOiBodHRwXG4gIH1cblxuICBnZXQgdXJsICgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLnByb3RvY29sfS8vJHt0aGlzLmhvc3R9JHt0aGlzLnBhdGh9YFxuICB9XG5cbiAgcGVyZm9ybVJlcXVlc3QgKCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBsZXQgcmVxdWVzdCA9IHRoaXMuaHR0cC5yZXF1ZXN0KHRoaXMsIHJlc29sdmUpXG4gICAgICByZXF1ZXN0Lm9uKCdlcnJvcicsIHJlamVjdClcbiAgICAgIHJlcXVlc3QuZW5kKClcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgcGFyc2UgKHJlc3BvbnNlOiBodHRwJEluY29taW5nTWVzc2FnZSkge1xuICAgIGxldCBib2R5ID0gYXdhaXQgY29uY2F0KHJlc3BvbnNlKVxuICAgIHJldHVybiByZXNwb25zZS5oZWFkZXJzWydjb250ZW50LXR5cGUnXSA9PT0gJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICA/IEpTT04ucGFyc2UoYm9keSkgOiBib2R5XG4gIH1cblxuICBIVFRQRXJyb3IgPSBjbGFzcyBIVFRQRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgc3RhdHVzQ29kZTogbnVtYmVyXG5cbiAgICBjb25zdHJ1Y3RvciAoaHR0cDogSFRUUCwgYm9keTogSnNvbikge1xuICAgICAgYm9keSA9IGBcXG4ke3V0aWwuaW5zcGVjdChib2R5KX1gXG4gICAgICBzdXBlcihgSFRUUCBFcnJvciAke2h0dHAucmVzcG9uc2Uuc3RhdHVzQ29kZX0gZm9yICR7aHR0cC5tZXRob2R9ICR7aHR0cC51cmx9JHtib2R5fWApXG4gICAgICB0aGlzLnN0YXR1c0NvZGUgPSBodHRwLnJlc3BvbnNlLnN0YXR1c0NvZGVcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgSFRUUFxuIl19
{
"name": "http-call",
"description": "make http requests",
"version": "1.0.12",
"version": "1.0.13",
"author": "Jeff Dickey @dickeyxxx",
"bugs": "https://github.com/dickeyxxx/http-call/issues",
"dependencies": {
"babel-runtime": "6.23.0"
},
"devDependencies": {

@@ -14,19 +11,21 @@ "babel-cli": "6.23.0",

"babel-eslint": "7.1.1",
"babel-jest": "19.0.0",
"babel-jest": "^19.0.0",
"babel-plugin-transform-class-properties": "^6.23.0",
"babel-plugin-transform-es2015-modules-commonjs": "^6.23.0",
"babel-plugin-transform-flow-strip-types": "6.22.0",
"babel-plugin-transform-runtime": "6.23.0",
"babel-preset-es2015": "6.22.0",
"babel-preset-stage-2": "6.22.0",
"codecov": "1.0.1",
"flow-bin": "0.40.0",
"flow-bin": "^0.41.0",
"flow-copy-source": "1.1.0",
"flow-typed": "2.0.0",
"jest": "19.0.2",
"jest": "^19.0.2",
"jsdoc-babel": "0.3.0",
"jsdoc-to-markdown": "3.0.0",
"nock": "9.0.7",
"nock": "^9.0.9",
"np": "2.12.0",
"rimraf": "2.6.1",
"standard": "8.6.0"
"rimraf": "^2.6.1",
"standard": "^9.0.1"
},
"engines": {
"node": ">=7.6.0"
},
"homepage": "https://github.com/dickeyxxx/http-call",

@@ -58,2 +57,8 @@ "jest": {

"parser": "babel-eslint",
"env": [
"jest"
],
"globals": [
"http$IncomingMessage"
],
"ignore": [

@@ -60,0 +65,0 @@ "flow-typed"

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc