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 --- node_modules/global-tunnel-ng/lib/agents.js | 52 +++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 node_modules/global-tunnel-ng/lib/agents.js (limited to 'node_modules/global-tunnel-ng/lib') diff --git a/node_modules/global-tunnel-ng/lib/agents.js b/node_modules/global-tunnel-ng/lib/agents.js new file mode 100644 index 0000000..28bea61 --- /dev/null +++ b/node_modules/global-tunnel-ng/lib/agents.js @@ -0,0 +1,52 @@ +/* jshint node:true */ +'use strict'; + +var util = require('util'); +var http = require('http'); +var HttpAgent = http.Agent; +var https = require('https'); +var HttpsAgent = https.Agent; + +var pick = require('lodash/pick'); + +/** + * Proxy some traffic over HTTP. + */ +function OuterHttpAgent(opts) { + HttpAgent.call(this, opts); + mixinProxying(this, opts.proxy); +} +util.inherits(OuterHttpAgent, HttpAgent); +exports.OuterHttpAgent = OuterHttpAgent; + +/** + * Proxy some traffic over HTTPS. + */ +function OuterHttpsAgent(opts) { + HttpsAgent.call(this, opts); + mixinProxying(this, opts.proxy); +} +util.inherits(OuterHttpsAgent, HttpsAgent); +exports.OuterHttpsAgent = OuterHttpsAgent; + +/** + * Override createConnection and addRequest methods on the supplied agent. + * http.Agent and https.Agent will set up createConnection in the constructor. + */ +function mixinProxying(agent, proxyOpts) { + agent.proxy = proxyOpts; + + var orig = pick(agent, 'createConnection', 'addRequest'); + + // Make the tcp or tls connection go to the proxy, ignoring the + // destination host:port arguments. + agent.createConnection = function(port, host, options) { + return orig.createConnection.call(this, this.proxy.port, this.proxy.host, options); + }; + + agent.addRequest = function(req, options) { + req.path = + this.proxy.innerProtocol + '//' + options.host + ':' + options.port + req.path; + return orig.addRequest.call(this, req, options); + }; +} -- cgit v1.2.3-86-g962b