Browse Source

http: style

isaacs 12 years ago
parent
commit
6176e49181
  1. 12
      lib/_http_agent.js

12
lib/_http_agent.js

@ -66,6 +66,7 @@ function Agent(options) {
});
self.createConnection = net.createConnection;
}
util.inherits(Agent, EventEmitter);
exports.Agent = Agent;
@ -91,6 +92,7 @@ Agent.prototype.addRequest = function(req, host, port, localAddress) {
this.requests[name].push(req);
}
};
Agent.prototype.createSocket = function(name, host, port, localAddress, req) {
var self = this;
var options = util._extend({}, self.options);
@ -111,18 +113,21 @@ Agent.prototype.createSocket = function(name, host, port, localAddress, req) {
self.sockets[name] = [];
}
this.sockets[name].push(s);
var onFree = function() {
function onFree() {
self.emit('free', s, host, port, localAddress);
}
s.on('free', onFree);
var onClose = function(err) {
function onClose(err) {
// This is the only place where sockets get removed from the Agent.
// If you want to remove a socket from the pool, just close it.
// All socket errors end in a close event anyway.
self.removeSocket(s, name, host, port, localAddress);
}
s.on('close', onClose);
var onRemove = function() {
function onRemove() {
// We need this function for cases like HTTP 'upgrade'
// (defined by WebSockets) where we need to remove a socket from the pool
// because it'll be locked up indefinitely
@ -134,6 +139,7 @@ Agent.prototype.createSocket = function(name, host, port, localAddress, req) {
s.on('agentRemove', onRemove);
return s;
};
Agent.prototype.removeSocket = function(s, name, host, port, localAddress) {
if (this.sockets[name]) {
var index = this.sockets[name].indexOf(s);

Loading…
Cancel
Save