- Patch Node fetch via undici ProxyAgent when HTTP_PROXY/HTTPS_PROXY/ALL_PROXY is set - Ensure proxy patch is loaded for both chat pipeline and OAuth token exchange - Add Dashboard Settings → Network to edit outbound proxy and apply immediately - Persist outbound proxy settings in local db and initialize on server startup - Move proxy helpers to src/lib/network/ for better structure - Rename src/proxy.js → src/dashboardGuard.js to avoid naming confusion - Re-apply proxy env after DB import - Fix: close old dispatcher on proxy URL change to prevent connection pool leak - Fix: idempotency guard to avoid patching globalThis.fetch multiple times Made-with: Cursor
22 lines
570 B
JavaScript
22 lines
570 B
JavaScript
import { getSettings } from "@/lib/localDb";
|
|
import { applyOutboundProxyEnv } from "@/lib/network/outboundProxy";
|
|
|
|
let initialized = false;
|
|
|
|
export async function ensureOutboundProxyInitialized() {
|
|
if (initialized) return true;
|
|
|
|
try {
|
|
const settings = await getSettings();
|
|
applyOutboundProxyEnv(settings);
|
|
initialized = true;
|
|
} catch (error) {
|
|
console.error("[ServerInit] Error initializing outbound proxy:", error);
|
|
}
|
|
|
|
return initialized;
|
|
}
|
|
|
|
ensureOutboundProxyInitialized().catch(console.log);
|
|
|
|
export default ensureOutboundProxyInitialized;
|