@clickup/rest-client
Version:
A syntax sugar tool around Node fetch() API, tailored to work with TypeScript and response validators
64 lines • 2.45 kB
JavaScript
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DEFAULT_OPTIONS = exports.Agents = void 0;
const http_1 = require("http");
const https_1 = require("https");
const delay_1 = __importDefault(require("delay"));
const fast_typescript_memoize_1 = require("fast-typescript-memoize");
/**
* @ignore
* An internal class which keeps the list of HttpAgent instances used in a
* particular RestClient instance.
*/
class Agents {
http(options) {
return new http_1.Agent(options);
}
https(options) {
return new https_1.Agent(options);
}
}
exports.Agents = Agents;
__decorate([
(0, fast_typescript_memoize_1.Memoize)((...args) => JSON.stringify(args))
], Agents.prototype, "http", null);
__decorate([
(0, fast_typescript_memoize_1.Memoize)((...args) => JSON.stringify(args))
], Agents.prototype, "https", null);
/** @ignore */
exports.DEFAULT_OPTIONS = {
retries: 0,
retryDelayFirstMs: 1000,
retryDelayFactor: 2,
retryDelayJitter: 0.1,
retryDelayMaxMs: Number.MAX_SAFE_INTEGER,
heartbeater: {
heartbeat: async () => { },
delay: delay_1.default,
},
throwIfResIsBigger: undefined,
privateDataInResponse: false,
allowInternalIPs: false,
responseEncoding: undefined,
isDebug: false,
agents: new Agents(),
keepAlive: { timeoutMs: 10000 },
family: 4, // we don't want to hit ~5s DNS timeout on a missing IPv6 by default
timeoutMs: 4 * 60 * 1000,
logger: () => { },
middlewares: [],
isSuccessResponse: () => "BEST_EFFORT",
isRateLimitError: () => "BEST_EFFORT",
isTokenInvalidError: () => false,
isRetriableError: () => "BEST_EFFORT",
};
//# sourceMappingURL=RestOptions.js.map
;