Files
2026-02-22 19:51:17 +03:00

30 lines
926 B
JavaScript

"use strict";
/**
* Enable HTTP(S) proxy support for Node/undici before OpenClaw initializes.
* We load undici from OpenClaw's own node_modules path to avoid relying on
* global module resolution from this shim's location.
*/
(function applyProxyFromEnv() {
const hasProxyEnv =
!!process.env.HTTPS_PROXY ||
!!process.env.HTTP_PROXY ||
!!process.env.https_proxy ||
!!process.env.http_proxy;
if (!hasProxyEnv) {
return;
}
try {
const path = require("node:path");
const globalModulesRoot =
process.env.OPENCLAW_GLOBAL_NODE_MODULES || "/usr/lib/node_modules";
const undiciPath = path.join(globalModulesRoot, "openclaw", "node_modules", "undici");
const { EnvHttpProxyAgent, setGlobalDispatcher } = require(undiciPath);
setGlobalDispatcher(new EnvHttpProxyAgent());
} catch (_err) {
// Keep startup resilient if module layout changes in future releases.
}
})();