astro-ghostcms/.pnpm-store/v3/files/a4/d2318d8837ac390518d0e5f523f...

33 lines
1.2 KiB
Plaintext
Raw Normal View History

2024-02-14 14:10:47 +00:00
import http from 'node:http';
import https from 'node:https';
import nodeFetch, { Headers as Headers$1, AbortController as AbortController$1 } from 'node-fetch-native';
import { c as createFetch } from './shared/ofetch.00501375.mjs';
export { F as FetchError, a as createFetchError } from './shared/ofetch.00501375.mjs';
import 'destr';
import 'ufo';
function createNodeFetch() {
const useKeepAlive = JSON.parse(process.env.FETCH_KEEP_ALIVE || "false");
if (!useKeepAlive) {
return nodeFetch;
}
const agentOptions = { keepAlive: true };
const httpAgent = new http.Agent(agentOptions);
const httpsAgent = new https.Agent(agentOptions);
const nodeFetchOptions = {
agent(parsedURL) {
return parsedURL.protocol === "http:" ? httpAgent : httpsAgent;
}
};
return function nodeFetchWithKeepAlive(input, init) {
return nodeFetch(input, { ...nodeFetchOptions, ...init });
};
}
const fetch = globalThis.fetch || createNodeFetch();
const Headers = globalThis.Headers || Headers$1;
const AbortController = globalThis.AbortController || AbortController$1;
const ofetch = createFetch({ fetch, Headers, AbortController });
const $fetch = ofetch;
export { $fetch, AbortController, Headers, createFetch, createNodeFetch, fetch, ofetch };