Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

Commit

Permalink
Fixes #1531
Browse files Browse the repository at this point in the history
  • Loading branch information
mikeal authored and ry committed Aug 22, 2011
1 parent 94963ab commit 103990b
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 7 deletions.
14 changes: 11 additions & 3 deletions lib/http2.js
Expand Up @@ -929,7 +929,7 @@ Agent.prototype.addRequest = function(req, host, port) {
};
Agent.prototype.createSocket = function(name, host, port) {
var self = this;
var s = self.createConnection(port, host);
var s = self.createConnection(port, host, self.options);
if (!self.sockets[name]) {
self.sockets[name] = [];
}
Expand Down Expand Up @@ -1027,7 +1027,11 @@ function ClientRequest(options, cb) {
if (self.socketPath) {
self._last = true;
self.shouldKeepAlive = false;
self.onSocket(net.createConnection(self.socketPath));
if (options.createConnection) {
self.onSocket(options.createConnection(self.socketPath));
} else {
self.onSocket(net.createConnection(self.socketPath));
}
} else if (self.agent) {
// If there is an agent we should default to Connection:keep-alive.
self._last = false;
Expand All @@ -1037,7 +1041,11 @@ function ClientRequest(options, cb) {
// No agent, default to Connection:close.
self._last = true;
self.shouldKeepAlive = false;
self.onSocket(net.createConnection(options.port, options.host));
if (options.createConnection) {
self.onSocket(options.createConnection(options.port, options.host, options));
} else {
self.onSocket(net.createConnection(options.port, options.host));
}
}

self._deferToConnect(null, null, function () {
Expand Down
11 changes: 7 additions & 4 deletions lib/https2.js
Expand Up @@ -51,12 +51,14 @@ exports.createServer = function(opts, requestListener) {

// HTTPS agents.

function createConnection(port, host, options) {
return tls.connect(port, host, options);
};

function Agent(options) {
http.Agent.call(this, options);
this.createConnection = function(port, host) {
return tls.connect(port, host, options);
};
}
this.createConnection = createConnection;
};
inherits(Agent, http.Agent);
Agent.prototype.defaultPort = 443;

Expand All @@ -69,6 +71,7 @@ exports.request = function(options, cb) {
if (options.agent === undefined) {
options.agent = globalAgent;
}
options.createConnection = createConnection;
options.defaultPort = options.defaultPort || 443;
return http.request(options, cb);
};
Expand Down

0 comments on commit 103990b

Please sign in to comment.