n8n
Version:
n8n Workflow Automation Tool
44 lines • 1.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.patchNoProxyForLoopback = patchNoProxyForLoopback;
let activeCount = 0;
let originalValue;
let hadOriginal = false;
function patchNoProxyForLoopback() {
if (activeCount === 0) {
hadOriginal = Object.prototype.hasOwnProperty.call(process.env, 'NO_PROXY');
originalValue = process.env.NO_PROXY;
applyLoopbackPatch(originalValue);
}
activeCount++;
let restored = false;
return () => {
if (restored)
return;
restored = true;
activeCount--;
if (activeCount === 0) {
if (!hadOriginal) {
delete process.env.NO_PROXY;
}
else {
process.env.NO_PROXY = originalValue;
}
originalValue = undefined;
hadOriginal = false;
}
};
}
function applyLoopbackPatch(previous) {
const loopback = '127.0.0.1,localhost';
if (previous === undefined || previous.length === 0) {
process.env.NO_PROXY = loopback;
return;
}
const entries = previous.split(',').map((s) => s.trim());
const alreadyPresent = entries.includes('127.0.0.1') && entries.includes('localhost');
if (!alreadyPresent) {
process.env.NO_PROXY = `${loopback},${previous}`;
}
}
//# sourceMappingURL=proxy-loopback.js.map