UNPKG

rekwest

Version:

The robust request library that humanity deserves 🌐

68 lines (67 loc) 2.26 kB
"use strict"; 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.cjs"); var _mediatypes = require("./mediatypes.cjs"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const isZstdSupported = exports.isZstdSupported = !!_nodeZlib.default.constants.ZSTD_CLEVEL_DEFAULT; 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 timeout = 3e5; const defaults = { bufferBody: false, cookiesTTL: false, credentials: _constants.requestCredentials.sameOrigin, decodersOptions: {}, digest: true, encodersOptions: { brotli: { params: { [_nodeZlib.default.constants.BROTLI_PARAM_QUALITY]: 4 } }, zstd: { params: { [_nodeZlib.default.constants.ZSTD_c_compressionLevel]: 6 } } }, 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` }, maxRetryAfter: timeout, 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: ['ECONNREFUSED', 'ECONNRESET', 'EHOSTDOWN', 'EHOSTUNREACH', 'ENETDOWN', 'ENETUNREACH', 'ENOTFOUND', '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, trimTrailingSlashes: false }; var _default = exports.default = { defaults };