@loadmill/universal 0.3.175 → 0.3.177

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1,7 @@
1
1
  export declare const applySuperAgentProxy: () => void;
2
+ export declare const patchAgentWithProxy: (agent: {
3
+ use: Function;
4
+ url: string;
5
+ proxy: (proxyUrl: string) => any;
6
+ }) => any;
7
+ export declare const shouldBypassProxy: (url: string) => boolean;
@@ -1,29 +1,67 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applySuperAgentProxy = void 0;
3
+ exports.shouldBypassProxy = exports.patchAgentWithProxy = exports.applySuperAgentProxy = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var superagent_1 = tslib_1.__importDefault(require("superagent"));
6
+ var micromatch_1 = tslib_1.__importDefault(require("micromatch"));
6
7
  var proxy_server_1 = require("./proxy-server");
7
8
  var log_1 = tslib_1.__importDefault(require("./log"));
8
9
  var applySuperAgentProxy = function () {
9
10
  if ((0, proxy_server_1.isProxyServerSet)()) {
10
- log_1.default.info('Applying superagent proxy settings');
11
+ log_1.default.info('Applying superagent proxy settings globally');
11
12
  require('superagent-proxy')(superagent_1.default);
12
- var proxyUrl_1 = (0, proxy_server_1.getProxyServerUrl)();
13
- log_1.default.info('Using proxy server', { proxyUrl: proxyUrl_1 });
14
- ['get', 'post', 'put', 'patch', 'delete', 'head'].forEach(function (method) {
15
- var orig = superagent_1.default[method];
16
- superagent_1.default[method] = function () {
17
- var args = [];
18
- for (var _i = 0; _i < arguments.length; _i++) {
19
- args[_i] = arguments[_i];
20
- }
21
- log_1.default.info("Proxying superagent ".concat(method, " request"), { args: args });
22
- var req = orig.apply(this, args);
23
- return req.proxy(proxyUrl_1);
24
- };
25
- });
13
+ _patchGlobalSuperAgentProxy();
14
+ log_1.default.info('Global proxy patches applied successfully');
26
15
  }
27
16
  };
28
17
  exports.applySuperAgentProxy = applySuperAgentProxy;
18
+ var patchAgentWithProxy = function (agent) {
19
+ log_1.default.info('Patching superagent.agent() with for proxy logic');
20
+ return agent.use(function (req) { return _applyProxyLogic(req); });
21
+ };
22
+ exports.patchAgentWithProxy = patchAgentWithProxy;
23
+ var _patchGlobalSuperAgentProxy = function () {
24
+ log_1.default.info('Patching global superagent methods for proxy logic');
25
+ ['get', 'post', 'put', 'patch', 'delete', 'head'].forEach(function (method) {
26
+ var orig = superagent_1.default[method];
27
+ superagent_1.default[method] = function () {
28
+ var args = [];
29
+ for (var _i = 0; _i < arguments.length; _i++) {
30
+ args[_i] = arguments[_i];
31
+ }
32
+ var req = orig.apply(this, args);
33
+ return _applyProxyLogic(req);
34
+ };
35
+ });
36
+ };
37
+ var _applyProxyLogic = function (req) {
38
+ var proxyUrl = (0, proxy_server_1.getProxyServerUrl)();
39
+ if ((0, exports.shouldBypassProxy)(req.url)) {
40
+ log_1.default.info("Bypassing proxy for ".concat(req.url));
41
+ return req;
42
+ }
43
+ log_1.default.info("Routing request ".concat(req.url, " through proxy ").concat(proxyUrl));
44
+ return req.proxy(proxyUrl);
45
+ };
46
+ var shouldBypassProxy = function (url) {
47
+ try {
48
+ var bypassList = process.env.LOADMILL_PROXY_BYPASS_LIST || '';
49
+ if (!bypassList) {
50
+ return false;
51
+ }
52
+ var patterns = bypassList.split(';')
53
+ .map(function (pattern) { return pattern.trim(); })
54
+ .filter(function (pattern) { return pattern.length > 0; });
55
+ var hostname = new URL(url).hostname;
56
+ if (micromatch_1.default.isMatch(hostname, patterns)) {
57
+ return true;
58
+ }
59
+ return false;
60
+ }
61
+ catch (error) {
62
+ log_1.default.warn('Error evaluating should bypass proxy', { url: url, error: error });
63
+ return false;
64
+ }
65
+ };
66
+ exports.shouldBypassProxy = shouldBypassProxy;
29
67
  //# sourceMappingURL=super-agent-proxy-wrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"super-agent-proxy-wrapper.js","sourceRoot":"","sources":["../src/super-agent-proxy-wrapper.ts"],"names":[],"mappings":";;;;AAAA,kEAAoC;AACpC,+CAAqE;AACrE,sDAAwB;AAEjB,IAAM,oBAAoB,GAAG;IAClC,IAAI,IAAA,+BAAgB,GAAE,EAAE;QACtB,aAAG,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAC/C,OAAO,CAAC,kBAAkB,CAAC,CAAC,oBAAU,CAAC,CAAC;QAExC,IAAM,UAAQ,GAAG,IAAA,gCAAiB,GAAE,CAAC;QACrC,aAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,QAAQ,YAAA,EAAE,CAAC,CAAC;QAC7C,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,UAAA,MAAM;YAC9D,IAAM,IAAI,GAAG,oBAAU,CAAC,MAAM,CAAC,CAAC;YAChC,oBAAU,CAAC,MAAM,CAAC,GAAG;gBAAU,cAAc;qBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;oBAAd,yBAAc;;gBAC3C,aAAG,CAAC,IAAI,CAAC,8BAAuB,MAAM,aAAU,EAAE,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC;gBAC5D,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACnC,OAAO,GAAG,CAAC,KAAK,CAAC,UAAQ,CAAC,CAAC;YAC7B,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;KACJ;AACH,CAAC,CAAC;AAhBW,QAAA,oBAAoB,wBAgB/B"}
1
+ {"version":3,"file":"super-agent-proxy-wrapper.js","sourceRoot":"","sources":["../src/super-agent-proxy-wrapper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loadmill/universal",
3
- "version": "0.3.175",
3
+ "version": "0.3.177",
4
4
  "description": "Loadmill universal utilities",
5
5
  "main": "dist/",
6
6
  "types": "dist/index.d.ts",
@@ -20,6 +20,7 @@
20
20
  "license": "Apache-2.0",
21
21
  "devDependencies": {
22
22
  "@types/estree": "^0.0.50",
23
+ "@types/micromatch": "^4.0.10",
23
24
  "@types/source-map-support": "^0.4.0",
24
25
  "@types/stack-trace": "^0.0.29"
25
26
  },
@@ -35,6 +36,7 @@
35
36
  "globals": "^16.3.0",
36
37
  "lodash": "^4.17.21",
37
38
  "log4js": "6.4.0",
39
+ "micromatch": "^4.0.8",
38
40
  "quickselect": "^2.0.0",
39
41
  "source-map-support": "^0.5.0",
40
42
  "stack-trace": "^0.0.10",