UNPKG

@interopio/gateway-server

Version:
36 lines (35 loc) 1.26 kB
// src/gateway/metrics/rest.ts import * as rest from "@interopio/gateway/metrics/publisher/rest"; import { CookieAgent as CookieAgentUndiciV6 } from "http-cookie-agent/undici/v6"; import { CookieAgent as CookieAgentUndici } from "http-cookie-agent/undici"; import { interceptors } from "undici"; import { CookieJar } from "tough-cookie"; function cookieAgent(jar) { const version = process.version; const major = Number(version.substring(1, version.indexOf("."))); const useUndiciV6 = major >= 18 && major < 24; if (useUndiciV6) { return new CookieAgentUndiciV6({ cookies: { jar } }); } else { return new CookieAgentUndici({ cookies: { jar } }).compose(interceptors.redirect()); } } var fetchWithCookies = (existing) => { const fetchFn = existing ?? globalThis.fetch; const jar = new CookieJar(); const dispatcher = cookieAgent(jar); return async (input, request) => { const requestWithDispatcher = { ...request, dispatcher }; return await fetchFn(input, requestWithDispatcher); }; }; var name2 = rest.name; function create2(cfg, logger) { return rest.create({ ...cfg, fetch: fetchWithCookies(cfg.fetch) }, logger); } export { create2 as create, fetchWithCookies, name2 as name }; //# sourceMappingURL=rest.js.map