UNPKG

@gguf/claw

Version:

Multi-channel AI gateway with extensible messaging integrations

25 lines (22 loc) 748 B
import type { Dispatcher, RequestInit as UndiciRequestInit } from "undici"; import { ProxyAgent, fetch as undiciFetch } from "undici"; import type { ZaloFetch } from "./api.js"; const proxyCache = new Map<string, ZaloFetch>(); export function resolveZaloProxyFetch(proxyUrl?: string | null): ZaloFetch | undefined { const trimmed = proxyUrl?.trim(); if (!trimmed) { return undefined; } const cached = proxyCache.get(trimmed); if (cached) { return cached; } const agent = new ProxyAgent(trimmed); const fetcher: ZaloFetch = (input, init) => undiciFetch(input, { ...init, dispatcher: agent, } as UndiciRequestInit) as unknown as Promise<Response>; proxyCache.set(trimmed, fetcher); return fetcher; }