mirror of
https://github.com/nodejs/node.git
synced 2025-05-07 15:35:41 +00:00

Originally discovered and resolved by @szmarczak. PR-URL: https://github.com/nodejs/node/pull/25536 Fixes: https://github.com/nodejs/node/issues/25499 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
34 lines
737 B
JavaScript
34 lines
737 B
JavaScript
'use strict';
|
|
|
|
// Test https://github.com/nodejs/node/issues/25499 fix.
|
|
|
|
const { mustCall } = require('../common');
|
|
|
|
const { Agent, createServer, get } = require('http');
|
|
const { strictEqual } = require('assert');
|
|
|
|
const server = createServer(mustCall((req, res) => {
|
|
res.end();
|
|
}));
|
|
|
|
server.listen(0, () => {
|
|
const agent = new Agent({ keepAlive: true, maxSockets: 1 });
|
|
const port = server.address().port;
|
|
|
|
let socket;
|
|
|
|
const req = get({ agent, port }, (res) => {
|
|
res.on('end', () => {
|
|
strictEqual(req.setTimeout(0), req);
|
|
strictEqual(socket.listenerCount('timeout'), 0);
|
|
agent.destroy();
|
|
server.close();
|
|
});
|
|
res.resume();
|
|
});
|
|
|
|
req.on('socket', (sock) => {
|
|
socket = sock;
|
|
});
|
|
});
|