diff options
Diffstat (limited to 'node_modules/global-tunnel-ng/lib')
-rw-r--r-- | node_modules/global-tunnel-ng/lib/agents.js | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/node_modules/global-tunnel-ng/lib/agents.js b/node_modules/global-tunnel-ng/lib/agents.js deleted file mode 100644 index 28bea61..0000000 --- a/node_modules/global-tunnel-ng/lib/agents.js +++ /dev/null @@ -1,52 +0,0 @@ -/* 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); - }; -} |