http: should support userland Agent

PR-URL: https://github.com/nodejs/node/pull/11567
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
This commit is contained in:
fengmk2 2017-02-27 01:09:30 +08:00 committed by James M Snell
parent 20b18236de
commit 90403dd1d0
2 changed files with 3 additions and 3 deletions

View File

@ -89,9 +89,9 @@ function ClientRequest(options, cb) {
} }
// Explicitly pass through this statement as agent will not be used // Explicitly pass through this statement as agent will not be used
// when createConnection is provided. // when createConnection is provided.
} else if (!(agent instanceof Agent.Agent)) { } else if (typeof agent.addRequest !== 'function') {
throw new TypeError( throw new TypeError(
'Agent option must be an instance of http.Agent, undefined or false.' 'Agent option must be an Agent-like object, undefined, or false.'
); );
} }
this.agent = agent; this.agent = agent;

View File

@ -49,7 +49,7 @@ server.listen(0, baseOptions.host, common.mustCall(function() {
failingAgentOptions.forEach((agent) => { failingAgentOptions.forEach((agent) => {
assert.throws( assert.throws(
() => createRequest(agent), () => createRequest(agent),
/^TypeError: Agent option must be an instance of http.Agent/, /^TypeError: Agent option must be an Agent-like object/,
`Expected typeof agent: ${typeof agent} to be rejected` `Expected typeof agent: ${typeof agent} to be rejected`
); );
}); });