mirror of
https://github.com/nodejs/node.git
synced 2025-04-29 06:19:07 +00:00

Don't invoke finished callback until OutgoingMessagehas emitted 'close'. PR-URL: https://github.com/nodejs/node/pull/36648 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
33 lines
673 B
JavaScript
33 lines
673 B
JavaScript
'use strict';
|
|
const common = require('../common');
|
|
const { finished } = require('stream');
|
|
|
|
const http = require('http');
|
|
const assert = require('assert');
|
|
|
|
const server = http.createServer(function(req, res) {
|
|
let closed = false;
|
|
res
|
|
.on('close', common.mustCall(() => {
|
|
closed = true;
|
|
finished(res, common.mustCall(() => {
|
|
server.close();
|
|
}));
|
|
}))
|
|
.end();
|
|
finished(res, common.mustCall(() => {
|
|
assert.strictEqual(closed, true);
|
|
}));
|
|
|
|
}).listen(0, function() {
|
|
http
|
|
.request({
|
|
port: this.address().port,
|
|
method: 'GET'
|
|
})
|
|
.on('response', function(res) {
|
|
res.resume();
|
|
})
|
|
.end();
|
|
});
|