@interopio/gateway-server
Version:
36 lines (35 loc) • 1.26 kB
JavaScript
// 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