Files
setup-uv/src/utils/fetch.ts
2026-09-10 20:40:43 +02:00

21 lines
546 B
TypeScript

import {
EnvHttpProxyAgent,
type RequestInit,
fetch as undiciFetch,
} from "undici";
export const fetch = async (url: string, opts: RequestInit) => {
// Merge timeout signal with any existing signal from opts
const timeoutSignal = AbortSignal.timeout(5_000);
const existingSignal = opts.signal;
const mergedSignal = existingSignal
? AbortSignal.any([timeoutSignal, existingSignal])
: timeoutSignal;
return await undiciFetch(url, {
dispatcher: new EnvHttpProxyAgent(),
...opts,
signal: mergedSignal,
});
};