mirror of
https://github.com/http-party/node-http-proxy.git
synced 2025-12-08 20:59:18 +00:00
[refactor] Manage our own internal list of Agent instances
This commit is contained in:
parent
a1cdf005b9
commit
887c5808c9
@ -36,6 +36,11 @@ var util = require('util'),
|
||||
//
|
||||
exports.version = [0, 5, 7];
|
||||
|
||||
//
|
||||
// Track our own list of agents internal to `node-http-proxy`
|
||||
//
|
||||
var _agents = {};
|
||||
|
||||
//
|
||||
// ### function _getAgent (host, port, secure)
|
||||
// #### @host {string} Host of the agent to get
|
||||
@ -45,13 +50,23 @@ exports.version = [0, 5, 7];
|
||||
// and sets the `maxSockets` property appropriately.
|
||||
//
|
||||
function _getAgent (host, port, secure) {
|
||||
var agent = !secure ? http.getAgent(host, port) : https.getAgent({
|
||||
host: host,
|
||||
port: port
|
||||
});
|
||||
|
||||
agent.maxSockets = maxSockets;
|
||||
return agent;
|
||||
var Agent, id = [host, port].join(':');
|
||||
|
||||
if (!port) {
|
||||
port = secure ? 443 : 80;
|
||||
}
|
||||
|
||||
if (!_agents[id]) {
|
||||
Agent = secure ? https.Agent : http.Agent;
|
||||
|
||||
_agents[id] = new Agent({
|
||||
host: host,
|
||||
port: port,
|
||||
maxSockets: maxSockets
|
||||
});
|
||||
}
|
||||
|
||||
return _agents[id];
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user