@journeyapps/https-proxy-socket 0.0.0-dev.6df47f0 → 0.0.0-dev.73fb7f7

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.
Files changed (71) hide show
  1. package/README.md +99 -81
  2. package/lib/cjs/HttpsProxySocket.d.ts +5 -5
  3. package/lib/cjs/HttpsProxySocket.d.ts.map +1 -1
  4. package/lib/cjs/HttpsProxySocket.js +16 -26
  5. package/lib/cjs/HttpsProxySocket.js.map +1 -1
  6. package/lib/cjs/ProxyAgent.d.ts +11 -0
  7. package/lib/cjs/ProxyAgent.d.ts.map +1 -0
  8. package/lib/cjs/{proxyAgent.js → ProxyAgent.js} +21 -25
  9. package/lib/cjs/ProxyAgent.js.map +1 -0
  10. package/lib/cjs/createProxyAgent.d.ts +11 -0
  11. package/lib/cjs/createProxyAgent.d.ts.map +1 -0
  12. package/lib/cjs/createProxyAgent.js +14 -0
  13. package/lib/cjs/createProxyAgent.js.map +1 -0
  14. package/lib/cjs/index.d.ts +2 -3
  15. package/lib/cjs/index.d.ts.map +1 -1
  16. package/lib/cjs/index.js +2 -3
  17. package/lib/cjs/index.js.map +1 -1
  18. package/lib/cjs/mongoPatch.js +3 -3
  19. package/lib/cjs/mongoPatch.js.map +1 -1
  20. package/lib/cjs/utils/parseOptions.d.ts +3 -0
  21. package/lib/cjs/utils/parseOptions.d.ts.map +1 -0
  22. package/lib/cjs/utils/parseOptions.js +16 -0
  23. package/lib/cjs/utils/parseOptions.js.map +1 -0
  24. package/lib/cjs/utils/setServername.d.ts +3 -0
  25. package/lib/cjs/utils/setServername.d.ts.map +1 -0
  26. package/lib/cjs/utils/setServername.js +47 -0
  27. package/lib/cjs/utils/setServername.js.map +1 -0
  28. package/lib/esm/HttpsProxySocket.d.ts +5 -5
  29. package/lib/esm/HttpsProxySocket.d.ts.map +1 -1
  30. package/lib/esm/HttpsProxySocket.js +57 -30
  31. package/lib/esm/HttpsProxySocket.js.map +1 -1
  32. package/lib/esm/ProxyAgent.d.ts +11 -0
  33. package/lib/esm/ProxyAgent.d.ts.map +1 -0
  34. package/lib/esm/ProxyAgent.js +67 -0
  35. package/lib/esm/ProxyAgent.js.map +1 -0
  36. package/lib/esm/bin/mongoReplicas.js +4 -2
  37. package/lib/esm/bin/mongoReplicas.js.map +1 -1
  38. package/lib/esm/createProxyAgent.d.ts +11 -0
  39. package/lib/esm/createProxyAgent.d.ts.map +1 -0
  40. package/lib/esm/createProxyAgent.js +14 -0
  41. package/lib/esm/createProxyAgent.js.map +1 -0
  42. package/lib/esm/index.d.ts +2 -3
  43. package/lib/esm/index.d.ts.map +1 -1
  44. package/lib/esm/index.js +18 -3
  45. package/lib/esm/index.js.map +1 -1
  46. package/lib/esm/mongoPatch.js +41 -5
  47. package/lib/esm/mongoPatch.js.map +1 -1
  48. package/lib/esm/utils/parseOptions.d.ts +3 -0
  49. package/lib/esm/utils/parseOptions.d.ts.map +1 -0
  50. package/lib/esm/utils/parseOptions.js +16 -0
  51. package/lib/esm/utils/parseOptions.js.map +1 -0
  52. package/lib/esm/utils/setServername.d.ts +3 -0
  53. package/lib/esm/utils/setServername.d.ts.map +1 -0
  54. package/lib/esm/utils/setServername.js +47 -0
  55. package/lib/esm/utils/setServername.js.map +1 -0
  56. package/package.json +3 -3
  57. package/lib/cjs/proxyAgent.d.ts +0 -11
  58. package/lib/cjs/proxyAgent.d.ts.map +0 -1
  59. package/lib/cjs/proxyAgent.js.map +0 -1
  60. package/lib/cjs/tediousPatch.d.ts +0 -9
  61. package/lib/cjs/tediousPatch.d.ts.map +0 -1
  62. package/lib/cjs/tediousPatch.js +0 -24
  63. package/lib/cjs/tediousPatch.js.map +0 -1
  64. package/lib/esm/proxyAgent.d.ts +0 -11
  65. package/lib/esm/proxyAgent.d.ts.map +0 -1
  66. package/lib/esm/proxyAgent.js +0 -32
  67. package/lib/esm/proxyAgent.js.map +0 -1
  68. package/lib/esm/tediousPatch.d.ts +0 -9
  69. package/lib/esm/tediousPatch.d.ts.map +0 -1
  70. package/lib/esm/tediousPatch.js +0 -21
  71. package/lib/esm/tediousPatch.js.map +0 -1
@@ -19,24 +19,24 @@ export declare class HttpsProxySocket {
19
19
  proxyConfig: HttpsProxyConfig;
20
20
  /**
21
21
  *
22
- * @param opts - The connection options to the proxy. At least host and port are required.
22
+ * @param options - The connection options to the proxy. At least host and port are required.
23
23
  * Use {rejectUnauthorized: true} to ignore certificates for the proxy (not the endpoint).
24
24
  * @param proxyConfig - { auth: 'username:password' } for basic auth.
25
25
  * { headers: {key: 'value'} } for custom headers.
26
26
  */
27
- constructor(opts: tls.ConnectionOptions | string, proxyConfig?: HttpsProxyConfig);
27
+ constructor(options: tls.ConnectionOptions | string, proxyConfig?: HttpsProxyConfig);
28
28
  /**
29
29
  * Create a new Socket connection.
30
30
  *
31
- * @param opts - host and port
31
+ * @param options - host and port
32
32
  */
33
- connect(opts: ConnectionOptions): Promise<tls.TLSSocket>;
33
+ connect(options: ConnectionOptions): Promise<tls.TLSSocket>;
34
34
  /**
35
35
  * Construct an agent for http(s) requests.
36
36
  *
37
37
  * @param options - to set additional TLS options for https requests, e.g. rejectUnauthorized
38
38
  */
39
- agent(options?: tls.ConnectionOptions): import("agent-base").Agent;
39
+ agent(options?: tls.ConnectionOptions): import("./ProxyAgent").ProxyAgent;
40
40
  private _connect;
41
41
  }
42
42
  //# sourceMappingURL=HttpsProxySocket.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpsProxySocket.d.ts","sourceRoot":"","sources":["../../src/HttpsProxySocket.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAM3B,MAAM,WAAW,gBAAiB,SAAQ,GAAG,CAAC,iBAAiB;IAC7D,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,KAAK,EAAE,GAAG,CAAC,iBAAiB,CAAC;IAC7B,WAAW,EAAE,gBAAgB,CAAC;IAE9B;;;;;;OAMG;gBACS,IAAI,EAAE,GAAG,CAAC,iBAAiB,GAAG,MAAM,EAAE,WAAW,CAAC,EAAE,gBAAgB;IAqBhF;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IAexD;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,iBAAiB;IAIrC,OAAO,CAAC,QAAQ;CAwHjB"}
1
+ {"version":3,"file":"HttpsProxySocket.d.ts","sourceRoot":"","sources":["../../src/HttpsProxySocket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAS3B,MAAM,WAAW,gBAAiB,SAAQ,GAAG,CAAC,iBAAiB;IAC7D,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,KAAK,EAAE,GAAG,CAAC,iBAAiB,CAAC;IAC7B,WAAW,EAAE,gBAAgB,CAAC;IAE9B;;;;;;OAMG;gBACS,OAAO,EAAE,GAAG,CAAC,iBAAiB,GAAG,MAAM,EAAE,WAAW,CAAC,EAAE,gBAAgB;IAWnF;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IAe3D;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,iBAAiB;YAIvB,QAAQ;CAsHvB"}
@@ -1,37 +1,63 @@
1
- // Based on https://github.com/TooTallNate/node-https-proxy-agent
2
- import * as tls from 'tls';
3
- import * as url from 'url';
4
- import { proxyAgent } from './proxyAgent';
5
- import { debug as nodeDebug } from 'util';
6
- const debug = nodeDebug('https-proxy');
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.HttpsProxySocket = void 0;
37
+ const tls = __importStar(require("tls"));
38
+ const createProxyAgent_1 = require("./createProxyAgent");
39
+ const setServername_1 = require("./utils/setServername");
40
+ const parseOptions_1 = require("./utils/parseOptions");
41
+ const util_1 = require("util");
42
+ const debug = (0, util_1.debug)('https-proxy');
7
43
  /**
8
44
  * The HttpsProxySocket class allows creating Socket connections via an HTTPS proxy.
9
45
  * HTTP proxies are not supported.
10
46
  * For http(s) requests, use HttpsProxyAgent as a wrapper around this.
11
47
  */
12
- export class HttpsProxySocket {
48
+ class HttpsProxySocket {
13
49
  proxy;
14
50
  proxyConfig;
15
51
  /**
16
52
  *
17
- * @param opts - The connection options to the proxy. At least host and port are required.
53
+ * @param options - The connection options to the proxy. At least host and port are required.
18
54
  * Use {rejectUnauthorized: true} to ignore certificates for the proxy (not the endpoint).
19
55
  * @param proxyConfig - { auth: 'username:password' } for basic auth.
20
56
  * { headers: {key: 'value'} } for custom headers.
21
57
  */
22
- constructor(opts, proxyConfig) {
23
- let sanitizedOptions;
24
- if (typeof opts == 'string') {
25
- let parsedOptions = url.parse(opts);
26
- sanitizedOptions = {
27
- host: parsedOptions.hostname || parsedOptions.host,
28
- port: parseInt(parsedOptions.port || '443'),
29
- };
30
- }
31
- else {
32
- sanitizedOptions = Object.assign({}, opts);
33
- }
34
- if (!opts) {
58
+ constructor(options, proxyConfig) {
59
+ const sanitizedOptions = (0, parseOptions_1.parseOptions)(options);
60
+ if (!options) {
35
61
  throw new Error('an HTTP(S) proxy server `host` and `port` must be specified!');
36
62
  }
37
63
  debug('creating new HttpsProxyAgent instance: %o', sanitizedOptions);
@@ -41,11 +67,11 @@ export class HttpsProxySocket {
41
67
  /**
42
68
  * Create a new Socket connection.
43
69
  *
44
- * @param opts - host and port
70
+ * @param options - host and port
45
71
  */
46
- connect(opts) {
47
- return new Promise((resolve, reject) => {
48
- this._connect(opts, (error, socket) => {
72
+ connect(options) {
73
+ return new Promise(async (resolve, reject) => {
74
+ await this._connect(options, (error, socket) => {
49
75
  if (error) {
50
76
  reject(error);
51
77
  }
@@ -64,12 +90,12 @@ export class HttpsProxySocket {
64
90
  * @param options - to set additional TLS options for https requests, e.g. rejectUnauthorized
65
91
  */
66
92
  agent(options) {
67
- return proxyAgent(this, options);
93
+ return (0, createProxyAgent_1.createProxyAgent)(this, options);
68
94
  }
69
- _connect(opts, cb) {
95
+ async _connect(opts, cb) {
70
96
  const proxy = this.proxy;
71
97
  // create a socket connection to the proxy server
72
- const socket = tls.connect(proxy);
98
+ const socket = tls.connect((0, setServername_1.setServername)(proxy));
73
99
  // we need to buffer any HTTP traffic that happens with the proxy before we get
74
100
  // the CONNECT response, so that if the response is anything other than an "200"
75
101
  // response code, then we can re-play the "data" events on the socket once the
@@ -154,8 +180,8 @@ export class HttpsProxySocket {
154
180
  socket.once('data', ondata);
155
181
  }
156
182
  const host = `${opts.host}:${opts.port}`;
157
- var msg = 'CONNECT ' + host + ' HTTP/1.1\r\n';
158
- var headers = Object.assign({}, this.proxyConfig.headers);
183
+ let msg = 'CONNECT ' + host + ' HTTP/1.1\r\n';
184
+ const headers = Object.assign({}, this.proxyConfig.headers);
159
185
  if (this.proxyConfig.auth) {
160
186
  headers['Proxy-Authorization'] = 'Basic ' + Buffer.from(this.proxyConfig.auth).toString('base64');
161
187
  }
@@ -167,4 +193,5 @@ export class HttpsProxySocket {
167
193
  socket.write(msg + '\r\n');
168
194
  }
169
195
  }
196
+ exports.HttpsProxySocket = HttpsProxySocket;
170
197
  //# sourceMappingURL=HttpsProxySocket.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpsProxySocket.js","sourceRoot":"","sources":["../../src/HttpsProxySocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpsProxySocket.js","sourceRoot":"","sources":["../../src/HttpsProxySocket.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { Agent, AgentConnectOpts } from 'agent-base';
2
+ import * as http from 'http';
3
+ import * as tls from 'tls';
4
+ import { HttpsProxySocket } from './HttpsProxySocket';
5
+ export declare class ProxyAgent extends Agent {
6
+ proxy: HttpsProxySocket;
7
+ agentOptions?: http.AgentOptions | undefined;
8
+ constructor(proxy: HttpsProxySocket, agentOptions?: http.AgentOptions | undefined);
9
+ connect(req: http.ClientRequest, options: AgentConnectOpts): Promise<tls.TLSSocket>;
10
+ }
11
+ //# sourceMappingURL=ProxyAgent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProxyAgent.d.ts","sourceRoot":"","sources":["../../src/ProxyAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,qBAAa,UAAW,SAAQ,KAAK;IAE1B,KAAK,EAAE,gBAAgB;IACvB,YAAY,CAAC,EAAE,IAAI,CAAC,YAAY;gBADhC,KAAK,EAAE,gBAAgB,EACvB,YAAY,CAAC,EAAE,IAAI,CAAC,YAAY,YAAA;IAInC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,gBAAgB;CAiBjE"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ProxyAgent = void 0;
37
+ const agent_base_1 = require("agent-base");
38
+ const tls = __importStar(require("tls"));
39
+ class ProxyAgent extends agent_base_1.Agent {
40
+ proxy;
41
+ agentOptions;
42
+ constructor(proxy, agentOptions) {
43
+ super(agentOptions);
44
+ this.proxy = proxy;
45
+ this.agentOptions = agentOptions;
46
+ }
47
+ async connect(req, options) {
48
+ const socket = await this.proxy.connect(options);
49
+ if (options.secureEndpoint) {
50
+ let tlsOptions = {
51
+ socket: socket,
52
+ servername: options.servername || options.host,
53
+ };
54
+ if (typeof options.rejectUnauthorized != 'undefined') {
55
+ tlsOptions.rejectUnauthorized = options.rejectUnauthorized;
56
+ }
57
+ Object.assign(tlsOptions, this.agentOptions);
58
+ return tls.connect(tlsOptions);
59
+ }
60
+ else {
61
+ socket.resume();
62
+ return socket;
63
+ }
64
+ }
65
+ }
66
+ exports.ProxyAgent = ProxyAgent;
67
+ //# sourceMappingURL=ProxyAgent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProxyAgent.js","sourceRoot":"","sources":["../../src/ProxyAgent.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAqD;AAErD,yCAA2B;AAG3B,MAAa,UAAW,SAAQ,kBAAK;IAE1B;IACA;IAFT,YACS,KAAuB,EACvB,YAAgC;QAEvC,KAAK,CAAC,YAAY,CAAC,CAAC;QAHb,UAAK,GAAL,KAAK,CAAkB;QACvB,iBAAY,GAAZ,YAAY,CAAoB;IAGzC,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,GAAuB,EAAE,OAAyB;QAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAc,CAAC,CAAC;QACxD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,IAAI,UAAU,GAA0B;gBACtC,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI;aAC/C,CAAC;YACF,IAAI,OAAO,OAAO,CAAC,kBAAkB,IAAI,WAAW,EAAE,CAAC;gBACrD,UAAU,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;YAC7D,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7C,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;CACF;AAxBD,gCAwBC"}
@@ -1,5 +1,7 @@
1
1
  #!/usr/bin/env node
2
- import { resolveSrv } from 'dns/promises';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const promises_1 = require("dns/promises");
3
5
  /**
4
6
  * NPX script to resolve MongoDB SRV records.
5
7
  * @example npx @journeyapps/https-proxy-socket mongo-replicas mongodb+srv://<username>:<password>@cluster1.vlnzcbp.mongodb.net
@@ -14,7 +16,7 @@ async function mongoReplicas() {
14
16
  throw new Error('URL must start with mongodb+srv://');
15
17
  }
16
18
  const hostname = url.hostname;
17
- const srvRecords = await resolveSrv(`_mongodb._tcp.${hostname}`);
19
+ const srvRecords = await (0, promises_1.resolveSrv)(`_mongodb._tcp.${hostname}`);
18
20
  const targets = srvRecords.map((r) => `${r.name}:${r.port}`);
19
21
  return { replicas: targets.join(',') };
20
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mongoReplicas.js","sourceRoot":"","sources":["../../../src/bin/mongoReplicas.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;;;GAMG;AACH,KAAK,UAAU,aAAa;IAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,GAAG,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC9B,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7D,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACzC,CAAC;AAED,aAAa,EAAE;KACZ,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;KACrC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"mongoReplicas.js","sourceRoot":"","sources":["../../../src/bin/mongoReplicas.ts"],"names":[],"mappings":";;;AACA,2CAA0C;AAE1C;;;;;;GAMG;AACH,KAAK,UAAU,aAAa;IAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,GAAG,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC9B,MAAM,UAAU,GAAG,MAAM,IAAA,qBAAU,EAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7D,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACzC,CAAC;AAED,aAAa,EAAE;KACZ,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;KACrC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { HttpsProxySocket } from './HttpsProxySocket.js';
2
+ import { ProxyAgent } from './ProxyAgent';
3
+ import * as http from 'node:http';
4
+ /**
5
+ * Construct an agent for http(s) requests. Mostly for testing purposes.
6
+ *
7
+ * @param proxy - the proxy to use
8
+ * @param options - to set additional TLS options for https requests, e.g. rejectUnauthorized
9
+ */
10
+ export declare function createProxyAgent(proxy: HttpsProxySocket, options?: http.AgentOptions): ProxyAgent;
11
+ //# sourceMappingURL=createProxyAgent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createProxyAgent.d.ts","sourceRoot":"","sources":["../../src/createProxyAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,cAEpF"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createProxyAgent = createProxyAgent;
4
+ const ProxyAgent_1 = require("./ProxyAgent");
5
+ /**
6
+ * Construct an agent for http(s) requests. Mostly for testing purposes.
7
+ *
8
+ * @param proxy - the proxy to use
9
+ * @param options - to set additional TLS options for https requests, e.g. rejectUnauthorized
10
+ */
11
+ function createProxyAgent(proxy, options) {
12
+ return new ProxyAgent_1.ProxyAgent(proxy, options);
13
+ }
14
+ //# sourceMappingURL=createProxyAgent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createProxyAgent.js","sourceRoot":"","sources":["../../src/createProxyAgent.ts"],"names":[],"mappings":";;AAUA,4CAEC;AAXD,6CAA0C;AAG1C;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,KAAuB,EAAE,OAA2B;IACnF,OAAO,IAAI,uBAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC"}
@@ -1,4 +1,3 @@
1
- export * from './HttpsProxySocket';
2
- export * from './tediousPatch';
3
- export * from './mongoPatch';
1
+ export * from './HttpsProxySocket.js';
2
+ export * from './mongoPatch.js';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
package/lib/esm/index.js CHANGED
@@ -1,4 +1,19 @@
1
- export * from './HttpsProxySocket';
2
- export * from './tediousPatch';
3
- export * from './mongoPatch';
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./HttpsProxySocket.js"), exports);
18
+ __exportStar(require("./mongoPatch.js"), exports);
4
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,kDAAgC"}
@@ -1,13 +1,49 @@
1
- import * as socks from 'socks';
2
- import { HttpsProxySocket } from './HttpsProxySocket';
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.useProxyForMongo = useProxyForMongo;
37
+ const socks = __importStar(require("socks"));
38
+ const HttpsProxySocket_js_1 = require("./HttpsProxySocket.js");
3
39
  /**
4
40
  * The patch should be called before instantiating the MongoClient
5
41
  * @param config - The configuration for the proxy
6
42
  */
7
- export function useProxyForMongo(config) {
43
+ function useProxyForMongo(config) {
8
44
  let socket;
9
45
  socks.SocksClient.createConnection = async (options, callback) => {
10
- const proxy = new HttpsProxySocket(`https://${config.proxy}`, { auth: config.auth });
46
+ const proxy = new HttpsProxySocket_js_1.HttpsProxySocket(`https://${config.proxy}`, { auth: config.auth });
11
47
  return new Promise(async (resolve, reject) => {
12
48
  socket = await proxy.connect({ host: options.destination.host, port: options.destination.port });
13
49
  resolve({
@@ -16,7 +52,7 @@ export function useProxyForMongo(config) {
16
52
  });
17
53
  };
18
54
  return {
19
- close: () => socket?.end()
55
+ close: () => socket?.end(),
20
56
  };
21
57
  }
22
58
  //# sourceMappingURL=mongoPatch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mongoPatch.js","sourceRoot":"","sources":["../../src/mongoPatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAQtD;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,IAAI,MAAqB,CAAA;IACzB,KAAK,CAAC,WAAW,CAAC,gBAAgB,GAAG,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;QAC/D,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC,WAAW,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACrF,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YACjG,OAAO,CAAC;gBACN,MAAM;aACP,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IACF,OAAO;QACL,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;KAC3B,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"mongoPatch.js","sourceRoot":"","sources":["../../src/mongoPatch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,4CAcC;AA5BD,6CAA+B;AAE/B,+DAAyD;AAQzD;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,MAAc;IAC7C,IAAI,MAAqB,CAAC;IAC1B,KAAK,CAAC,WAAW,CAAC,gBAAgB,GAAG,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;QAC/D,MAAM,KAAK,GAAG,IAAI,sCAAgB,CAAC,WAAW,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACrF,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YACjG,OAAO,CAAC;gBACN,MAAM;aACP,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IACF,OAAO;QACL,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;KAC3B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import tls from 'tls';
2
+ export declare function parseOptions(options: tls.ConnectionOptions | string): tls.ConnectionOptions;
3
+ //# sourceMappingURL=parseOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseOptions.d.ts","sourceRoot":"","sources":["../../../src/utils/parseOptions.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,wBAAgB,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,iBAAiB,GAAG,MAAM,yBAUnE"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseOptions = parseOptions;
4
+ function parseOptions(options) {
5
+ if (typeof options != 'string') {
6
+ return options;
7
+ }
8
+ else {
9
+ const parsedOptions = new URL(options);
10
+ return {
11
+ host: parsedOptions.hostname || parsedOptions.host,
12
+ port: parseInt(parsedOptions.port || '443'),
13
+ };
14
+ }
15
+ }
16
+ //# sourceMappingURL=parseOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseOptions.js","sourceRoot":"","sources":["../../../src/utils/parseOptions.ts"],"names":[],"mappings":";;AAEA,oCAUC;AAVD,SAAgB,YAAY,CAAC,OAAuC;IAClE,IAAI,OAAO,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC;IACjB,CAAC;SAAM,CAAC;QACN,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO;YACL,IAAI,EAAE,aAAa,CAAC,QAAQ,IAAI,aAAa,CAAC,IAAI;YAClD,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,KAAK,CAAC;SAC5C,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import * as tls from 'tls';
2
+ export declare function setServername(options: tls.ConnectionOptions): tls.ConnectionOptions;
3
+ //# sourceMappingURL=setServername.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setServername.d.ts","sourceRoot":"","sources":["../../../src/utils/setServername.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAE3B,wBAAgB,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,iBAAiB,yBAQ3D"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.setServername = setServername;
37
+ const net = __importStar(require("net"));
38
+ function setServername(options) {
39
+ if (options.servername === undefined && options.host && !net.isIP(options.host)) {
40
+ return {
41
+ ...options,
42
+ servername: options.host,
43
+ };
44
+ }
45
+ return options;
46
+ }
47
+ //# sourceMappingURL=setServername.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setServername.js","sourceRoot":"","sources":["../../../src/utils/setServername.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,sCAQC;AAXD,yCAA2B;AAG3B,SAAgB,aAAa,CAAC,OAA8B;IAC1D,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChF,OAAO;YACL,GAAG,OAAO;YACV,UAAU,EAAE,OAAO,CAAC,IAAI;SACzB,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@journeyapps/https-proxy-socket",
3
- "version": "0.0.0-dev.6df47f0",
3
+ "version": "0.0.0-dev.73fb7f7",
4
4
  "author": "JourneyApps",
5
5
  "repository": "journeyapps/https-proxy-socket",
6
6
  "license": "MIT",
@@ -24,16 +24,16 @@
24
24
  "devDependencies": {
25
25
  "@types/agent-base": "^4.2.0",
26
26
  "@types/node": "^24.7.2",
27
+ "async-listen": "^3.1.0",
27
28
  "lerna": "^9.0.0",
28
29
  "node-fetch": "^3.3.2",
29
30
  "prettier": "^3.6.2",
30
31
  "proxy": "^2.2.0",
31
- "tedious": "^18.6.1",
32
32
  "typescript": "^5.9.3",
33
33
  "vitest": "^3.2.4"
34
34
  },
35
35
  "dependencies": {
36
- "agent-base": "^6.0.2",
36
+ "agent-base": "^7.1.4",
37
37
  "socks": "^2.8.7"
38
38
  },
39
39
  "files": [
@@ -1,11 +0,0 @@
1
- import { HttpsProxySocket } from './HttpsProxySocket';
2
- import agentBase from 'agent-base';
3
- import * as tls from 'tls';
4
- /**
5
- * Construct an agent for http(s) requests. Mostly for testing purposes.
6
- *
7
- * @param proxy - the proxy to use
8
- * @param options - to set additional TLS options for https requests, e.g. rejectUnauthorized
9
- */
10
- export declare function proxyAgent(proxy: HttpsProxySocket, options?: tls.ConnectionOptions): agentBase.Agent;
11
- //# sourceMappingURL=proxyAgent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proxyAgent.d.ts","sourceRoot":"","sources":["../../src/proxyAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAE3B;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,iBAAiB,mBAsBlF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"proxyAgent.js","sourceRoot":"","sources":["../../src/proxyAgent.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,gCAsBC;AA/BD,4DAAmC;AACnC,yCAA2B;AAE3B;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,KAAuB,EAAE,OAA+B;IACjF,OAAO,IAAA,oBAAS,EAAC,KAAK,EAAE,GAA4B,EAAE,IAAS,EAAE,EAAE;QACjE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,iBAAiB;YACjB,IAAI,UAAU,GAA0B;gBACtC,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI;aACzC,CAAC;YACF,IAAI,OAAO,IAAI,CAAC,kBAAkB,IAAI,WAAW,EAAE,CAAC;gBAClD,oGAAoG;gBACpG,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAC1D,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC1C,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,9 +0,0 @@
1
- import { HttpsProxySocket } from './HttpsProxySocket';
2
- /**
3
- * Replace the connection method on the tedious library (used by mssql)
4
- * to connect via a proxy.
5
- *
6
- * @param proxy - the proxy to use
7
- */
8
- export declare function useProxyForTedious(proxy: HttpsProxySocket): void;
9
- //# sourceMappingURL=tediousPatch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tediousPatch.d.ts","sourceRoot":"","sources":["../../src/tediousPatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,QAWzD"}