From 703e03aba33f234712206769f57717ba7d92d23d Mon Sep 17 00:00:00 2001 From: LinuxWizard42 Date: Wed, 12 Oct 2022 22:54:37 +0300 Subject: Added export_allowed file to make repository visible in cgit --- .../src/factories/createProxyController.js | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 node_modules/global-agent/src/factories/createProxyController.js (limited to 'node_modules/global-agent/src/factories/createProxyController.js') diff --git a/node_modules/global-agent/src/factories/createProxyController.js b/node_modules/global-agent/src/factories/createProxyController.js new file mode 100644 index 0000000..5805ec8 --- /dev/null +++ b/node_modules/global-agent/src/factories/createProxyController.js @@ -0,0 +1,46 @@ +// @flow + +import Logger from '../Logger'; + +type ProxyControllerType = {| + HTTP_PROXY: string | null, + HTTPS_PROXY: string | null, + NO_PROXY: string | null, +|}; + +const log = Logger.child({ + namespace: 'createProxyController', +}); + +const KNOWN_PROPERTY_NAMES = [ + 'HTTP_PROXY', + 'HTTPS_PROXY', + 'NO_PROXY', +]; + +export default (): ProxyControllerType => { + // eslint-disable-next-line fp/no-proxy + return new Proxy({ + HTTP_PROXY: null, + HTTPS_PROXY: null, + NO_PROXY: null, + }, { + set: (subject, name, value) => { + if (!KNOWN_PROPERTY_NAMES.includes(name)) { + throw new Error('Cannot set an unmapped property "' + name + '".'); + } + + subject[name] = value; + + log.info({ + change: { + name, + value, + }, + newConfiguration: subject, + }, 'configuration changed'); + + return true; + }, + }); +}; -- cgit v1.2.3-86-g962b