Browse Source

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>
v6
fengmk2 8 years ago
committed by James M Snell
parent
commit
90403dd1d0
  1. 4
      lib/_http_client.js
  2. 2
      test/parallel/test-http-client-reject-unexpected-agent.js

4
lib/_http_client.js

@ -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;

2
test/parallel/test-http-client-reject-unexpected-agent.js

@ -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`
); );
}); });

Loading…
Cancel
Save