summaryrefslogtreecommitdiff
path: root/node_modules/global-agent/src/utilities/isUrlMatchingNoProxy.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/global-agent/src/utilities/isUrlMatchingNoProxy.js')
-rw-r--r--node_modules/global-agent/src/utilities/isUrlMatchingNoProxy.js37
1 files changed, 0 insertions, 37 deletions
diff --git a/node_modules/global-agent/src/utilities/isUrlMatchingNoProxy.js b/node_modules/global-agent/src/utilities/isUrlMatchingNoProxy.js
deleted file mode 100644
index f2de584..0000000
--- a/node_modules/global-agent/src/utilities/isUrlMatchingNoProxy.js
+++ /dev/null
@@ -1,37 +0,0 @@
-// @flow
-
-import {
- parse as parseUrl,
-} from 'url';
-import matcher from 'matcher';
-import {
- UnexpectedStateError,
-} from '../errors';
-
-export default (subjectUrl: string, noProxy: string) => {
- const subjectUrlTokens = parseUrl(subjectUrl);
-
- const rules = noProxy.split(/[\s,]+/);
-
- for (const rule of rules) {
- const ruleMatch = rule
- .replace(/^(?<leadingDot>\.)/, '*')
- .match(/^(?<hostname>.+?)(?::(?<port>\d+))?$/);
-
- if (!ruleMatch || !ruleMatch.groups) {
- throw new UnexpectedStateError('Invalid NO_PROXY pattern.');
- }
-
- if (!ruleMatch.groups.hostname) {
- throw new UnexpectedStateError('NO_PROXY entry pattern must include hostname. Use * to match any hostname.');
- }
-
- const hostnameIsMatch = matcher.isMatch(subjectUrlTokens.hostname, ruleMatch.groups.hostname);
-
- if (hostnameIsMatch && (!ruleMatch.groups || !ruleMatch.groups.port || subjectUrlTokens.port && subjectUrlTokens.port === ruleMatch.groups.port)) {
- return true;
- }
- }
-
- return false;
-};