UNPKG

@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
"use strict"; 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