summaryrefslogtreecommitdiff
path: root/node_modules/global-agent/src/factories/createProxyController.js
diff options
context:
space:
mode:
authorLinuxWizard42 <computerwizard@linuxmail.org>2022-10-12 22:54:37 +0300
committerLinuxWizard42 <computerwizard@linuxmail.org>2022-10-12 22:54:37 +0300
commit703e03aba33f234712206769f57717ba7d92d23d (patch)
tree0041f04ccb75bd5379c764e9fe42249fffe75fc3 /node_modules/global-agent/src/factories/createProxyController.js
parentab6e257e6e9d9a483d7e86f220d8b209a2cd7753 (diff)
downloadFlashRunner-703e03aba33f234712206769f57717ba7d92d23d.tar.gz
FlashRunner-703e03aba33f234712206769f57717ba7d92d23d.tar.zst
Added export_allowed file to make repository visible in cgit
Diffstat (limited to 'node_modules/global-agent/src/factories/createProxyController.js')
-rw-r--r--node_modules/global-agent/src/factories/createProxyController.js46
1 files changed, 46 insertions, 0 deletions
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;
+ },
+ });
+};