rekwest
Version:
The robust request library that humanity deserves 🌐
59 lines (58 loc) • 2.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isZstdSupported = exports.default = void 0;
var _nodeHttp = _interopRequireDefault(require("node:http2"));
var _nodeZlib = _interopRequireDefault(require("node:zlib"));
var _constants = require("./constants");
var _mediatypes = require("./mediatypes");
var _utils = require("./utils");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const {
HTTP2_HEADER_ACCEPT,
HTTP2_HEADER_ACCEPT_ENCODING,
HTTP2_METHOD_GET,
HTTP_STATUS_BAD_GATEWAY,
HTTP_STATUS_GATEWAY_TIMEOUT,
HTTP_STATUS_INTERNAL_SERVER_ERROR,
HTTP_STATUS_SERVICE_UNAVAILABLE,
HTTP_STATUS_TOO_MANY_REQUESTS
} = _nodeHttp.default.constants;
const isZstdSupported = exports.isZstdSupported = !!_nodeZlib.default.constants.ZSTD_CLEVEL_DEFAULT;
const defaults = {
cookiesTTL: false,
credentials: _constants.requestCredentials.sameOrigin,
digest: true,
follow: 20,
h2: false,
headers: {
[HTTP2_HEADER_ACCEPT]: `${_mediatypes.APPLICATION_JSON}, ${_mediatypes.TEXT_PLAIN}, ${_mediatypes.WILDCARD}`,
[HTTP2_HEADER_ACCEPT_ENCODING]: `br,${isZstdSupported ? ' zstd, ' : ' '}gzip, deflate, deflate-raw`
},
get maxRetryAfter() {
return this[_utils.maxRetryAfter] ?? this.timeout;
},
set maxRetryAfter(value) {
this[_utils.maxRetryAfter] = value;
},
method: HTTP2_METHOD_GET,
parse: true,
redirect: _constants.requestRedirect.follow,
redirected: false,
retry: {
attempts: 0,
backoffStrategy: 'interval * Math.log(Math.random() * (Math.E * Math.E - Math.E) + Math.E)',
errorCodes: ['EAI_AGAIN', 'ECONNREFUSED', 'ECONNRESET', 'EHOSTDOWN', 'EHOSTUNREACH', 'ENETDOWN', 'ENETUNREACH', 'ENOTFOUND', 'EPIPE', 'ERR_HTTP2_STREAM_ERROR'],
interval: 1e3,
retryAfter: true,
statusCodes: [HTTP_STATUS_TOO_MANY_REQUESTS, HTTP_STATUS_INTERNAL_SERVER_ERROR, HTTP_STATUS_BAD_GATEWAY, HTTP_STATUS_SERVICE_UNAVAILABLE, HTTP_STATUS_GATEWAY_TIMEOUT]
},
stripTrailingSlash: false,
thenable: false,
timeout: 3e5,
trimTrailingSlashes: false
};
var _default = exports.default = {
defaults
};