rekwest
Version:
The robust request library that humanity deserves 🌐
191 lines (190 loc) • 6.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _exportNames = {
constants: true,
mediatypes: true,
Blob: true,
File: true
};
Object.defineProperty(exports, "Blob", {
enumerable: true,
get: function () {
return _nodeBuffer.Blob;
}
});
Object.defineProperty(exports, "File", {
enumerable: true,
get: function () {
return _nodeBuffer.File;
}
});
Object.defineProperty(exports, "constants", {
enumerable: true,
get: function () {
return _nodeHttp2.constants;
}
});
exports.default = rekwest;
exports.mediatypes = void 0;
var _nodeHttp = _interopRequireDefault(require("node:http"));
var _nodeHttp2 = _interopRequireWildcard(require("node:http2"));
var _nodeHttps = _interopRequireDefault(require("node:https"));
var _config = _interopRequireDefault(require("./config"));
var _constants = require("./constants");
Object.keys(_constants).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _constants[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _constants[key];
}
});
});
var _mediatypes2 = _interopRequireWildcard(require("./mediatypes"));
var _mediatypes = _mediatypes2;
exports.mediatypes = _mediatypes2;
var _preflight = require("./preflight");
var _transfer = require("./transfer");
var _utils = require("./utils");
Object.keys(_utils).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _utils[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _utils[key];
}
});
});
var _validation = require("./validation");
Object.keys(_validation).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _validation[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _validation[key];
}
});
});
var _nodeBuffer = require("node:buffer");
var _ackn = require("./ackn");
Object.keys(_ackn).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _ackn[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _ackn[key];
}
});
});
var _cookies = require("./cookies");
Object.keys(_cookies).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _cookies[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _cookies[key];
}
});
});
var _errors = require("./errors");
Object.keys(_errors).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _errors[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _errors[key];
}
});
});
var _formdata = require("./formdata");
Object.keys(_formdata).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _formdata[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _formdata[key];
}
});
});
var _mixin = require("./mixin");
Object.keys(_mixin).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _mixin[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _mixin[key];
}
});
});
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const {
HTTP2_HEADER_CONTENT_TYPE
} = _nodeHttp2.default.constants;
function rekwest(url, options) {
return (0, _transfer.transfer)((0, _validation.validation)((0, _utils.normalize)(url, options)), rekwest);
}
Reflect.defineProperty(rekwest, 'defaults', {
enumerable: true,
get() {
return _config.default.defaults;
},
set(value) {
_config.default.defaults = (0, _utils.copyWithMerge)(_config.default.defaults, value);
}
});
Reflect.defineProperty(rekwest, 'extend', {
enumerable: true,
value(options) {
return (url, opts) => rekwest(url, (0, _utils.copyWithMerge)(options, opts));
}
});
Reflect.defineProperty(rekwest, 'stream', {
enumerable: true,
value(url, options) {
options = (0, _preflight.preflight)((0, _validation.validation)((0, _utils.normalize)(url, (0, _utils.copyWithMerge)({}, options, {
headers: {
[HTTP2_HEADER_CONTENT_TYPE]: _mediatypes2.APPLICATION_OCTET_STREAM
},
redirect: _constants.requestRedirect.manual
}))));
let client, req;
if (options.h2) {
client = _nodeHttp2.default.connect(options.url.origin, options);
req = client.request(options.headers, options);
} else {
const {
request
} = options.url.protocol === 'http:' ? _nodeHttp.default : _nodeHttps.default;
req = request(options.url, options);
}
(0, _utils.affix)(client, req, options);
req.once('response', res => {
let headers;
if (options.h2) {
headers = res;
res = req;
}
(0, _utils.admix)(res, headers, options);
});
return req;
}
});