From 8915b15f8c367ef3ebb1299a57f482146825545b Mon Sep 17 00:00:00 2001 From: themez Date: Thu, 26 Sep 2019 11:56:59 +0800 Subject: 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 Reviewed-By: Benjamin Gruenbaum Reviewed-By: Weijia Wang --- test/parallel/test-http-agent-keepalive.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'test/parallel/test-http-agent-keepalive.js') 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(() => { -- cgit v1.2.3