diff options
author | themez <themezeng@gmail.com> | 2019-09-26 11:56:59 +0800 |
---|---|---|
committer | Weijia Wang <starkwang@126.com> | 2019-10-12 11:55:25 +0800 |
commit | 8915b15f8c367ef3ebb1299a57f482146825545b (patch) | |
tree | 35d8aafb898267e9436ca6cc851b2bb8324af01d /test | |
parent | 075c7ebeb5234b148566c2aed6511357b775c2f6 (diff) | |
download | android-node-v8-8915b15f8c367ef3ebb1299a57f482146825545b.tar.gz android-node-v8-8915b15f8c367ef3ebb1299a57f482146825545b.tar.bz2 android-node-v8-8915b15f8c367ef3ebb1299a57f482146825545b.zip |
http: add reusedSocket property on client request
Set ClientRequest.reusedSocket property when reusing socket for request,
so user can handle retry base on wether the request is reusing a socket.
Refs: https://github.com/request/request/issues/3131
PR-URL: https://github.com/nodejs/node/pull/29715
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Weijia Wang <starkwang@126.com>
Diffstat (limited to 'test')
-rw-r--r-- | test/parallel/test-http-agent-keepalive.js | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/test/parallel/test-http-agent-keepalive.js b/test/parallel/test-http-agent-keepalive.js index 8cfc568b1e..0a85b30b0a 100644 --- a/test/parallel/test-http-agent-keepalive.js +++ b/test/parallel/test-http-agent-keepalive.js @@ -63,7 +63,8 @@ function checkDataAndSockets(body) { function second() { // Request second, use the same socket - get('/second', common.mustCall((res) => { + const req = get('/second', common.mustCall((res) => { + assert.strictEqual(req.reusedSocket, true); assert.strictEqual(res.statusCode, 200); res.on('data', checkDataAndSockets); res.on('end', common.mustCall(() => { @@ -80,7 +81,8 @@ function second() { function remoteClose() { // Mock remote server close the socket - get('/remote_close', common.mustCall((res) => { + const req = get('/remote_close', common.mustCall((res) => { + assert.deepStrictEqual(req.reusedSocket, true); assert.deepStrictEqual(res.statusCode, 200); res.on('data', checkDataAndSockets); res.on('end', common.mustCall(() => { @@ -120,7 +122,8 @@ function remoteError() { server.listen(0, common.mustCall(() => { name = `localhost:${server.address().port}:`; // Request first, and keep alive - get('/first', common.mustCall((res) => { + const req = get('/first', common.mustCall((res) => { + assert.strictEqual(req.reusedSocket, false); assert.strictEqual(res.statusCode, 200); res.on('data', checkDataAndSockets); res.on('end', common.mustCall(() => { |