node/test/parallel/test-http-server-write-end-after-end.js
Robert Nagy 30cc54275d http: don't emit error after close
Refs: https://github.com/nodejs/node/issues/33591

PR-URL: https://github.com/nodejs/node/pull/33654
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2020-06-21 17:21:12 +02:00

32 lines
655 B
JavaScript

'use strict';
const common = require('../common');
const http = require('http');
const server = http.createServer(handle);
function handle(req, res) {
res.on('error', common.mustNotCall());
res.write('hello');
res.end();
setImmediate(common.mustCall(() => {
res.end('world');
process.nextTick(() => {
server.close();
});
res.write('world', common.mustCall((err) => {
common.expectsError({
code: 'ERR_STREAM_WRITE_AFTER_END',
name: 'Error'
})(err);
server.close();
}));
}));
}
server.listen(0, common.mustCall(() => {
http.get(`http://localhost:${server.address().port}`);
}));