Yash030's picture
Initial Commit
d613519
/**
* HTTP Proxy Support
*
* Configures global fetch to use HTTP proxy from environment variables.
* Supports: http_proxy, HTTP_PROXY, https_proxy, HTTPS_PROXY
*
* This module should be imported at the very beginning of the application
* entry point (src/index.js) before any fetch calls are made.
*/
import { ProxyAgent, setGlobalDispatcher } from 'undici';
import { logger } from './logger.js';
/**
* Initialize proxy support from environment variables
* Call this once at application startup
*/
export function initProxy() {
const proxyUrl = process.env.http_proxy ||
process.env.HTTP_PROXY ||
process.env.https_proxy ||
process.env.HTTPS_PROXY;
if (!proxyUrl) {
return;
}
try {
const proxyAgent = new ProxyAgent(proxyUrl);
setGlobalDispatcher(proxyAgent);
logger.info(`[Proxy] Using proxy: ${proxyUrl}`);
} catch (error) {
logger.error(`[Proxy] Failed to configure proxy: ${error.message}`);
}
}
// Auto-initialize on import
initProxy();