Skip to content

Commit

Permalink
http: use localAddress instead of path
Browse files Browse the repository at this point in the history
Fix `options` usage on `lib/_http_agent.js` for the Legacy API.

Fixes: #5051
PR-URL: #5190
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
  • Loading branch information
dirceu authored and rvagg committed Jun 2, 2016
1 parent 08f1361 commit 2ab3609
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 2 deletions.
4 changes: 2 additions & 2 deletions lib/_http_agent.js
Original file line number Diff line number Diff line change
Expand Up @@ -106,12 +106,12 @@ Agent.prototype.getName = function(options) {
};

Agent.prototype.addRequest = function(req, options) {
// Legacy API: addRequest(req, host, port, path)
// Legacy API: addRequest(req, host, port, localAddress)
if (typeof options === 'string') {
options = {
host: options,
port: arguments[2],
path: arguments[3]
localAddress: arguments[3]
};
}

Expand Down
31 changes: 31 additions & 0 deletions test/parallel/test-regress-GH-5051.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
'use strict';
const common = require('../common');
const assert = require('assert');
const agent = require('http').globalAgent;

// small stub just so we can call addRequest directly
const req = {
getHeader: function() {}
};

agent.maxSockets = 0;

// localAddress is used when naming requests / sockets
// while using the Legacy API
agent.addRequest(req, 'localhost', common.PORT, '127.0.0.1');
assert.equal(Object.keys(agent.requests).length, 1);
assert.equal(
Object.keys(agent.requests)[0],
'localhost:' + common.PORT + ':127.0.0.1');

// path is *not* used when naming requests / sockets
agent.addRequest(req, {
host: 'localhost',
port: common.PORT,
localAddress: '127.0.0.1',
path: '/foo'
});
assert.equal(Object.keys(agent.requests).length, 1);
assert.equal(
Object.keys(agent.requests)[0],
'localhost:' + common.PORT + ':127.0.0.1');

0 comments on commit 2ab3609

Please sign in to comment.