mirror of
https://github.com/nodejs/node.git
synced 2025-05-03 16:34:41 +00:00

Fix a bug where the socket wasn't being correctly destroyed and adjust existing tests, as well as add additional tests. PR-URL: https://github.com/nodejs/node/pull/19852 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Co-authored-by: Matteo Collina <matteo.collina@gmail.com>
31 lines
684 B
JavaScript
31 lines
684 B
JavaScript
'use strict';
|
|
|
|
const common = require('../common');
|
|
if (!common.hasCrypto)
|
|
common.skip('missing crypto');
|
|
const http2 = require('http2');
|
|
|
|
{
|
|
const server = http2.createServer((req, res) => {
|
|
req.pipe(res);
|
|
});
|
|
|
|
server.listen(0, () => {
|
|
const url = `http://localhost:${server.address().port}`;
|
|
const client = http2.connect(url);
|
|
const req = client.request({ ':method': 'POST' });
|
|
|
|
for (let i = 0; i < 4000; i++) {
|
|
req.write(Buffer.alloc(6));
|
|
}
|
|
|
|
req.on('close', common.mustCall(() => {
|
|
console.log('(req onclose)');
|
|
server.close();
|
|
client.close();
|
|
}));
|
|
|
|
req.once('data', common.mustCall(() => req.destroy()));
|
|
});
|
|
}
|