node/test/parallel/test-http-server-write-end-after-end.js
Robert Nagy c776a37791 http: end with data can cause write after end
Calling end() with data while ending should trigger
a write after end error.

PR-URL: https://github.com/nodejs/node/pull/28666
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2020-02-16 10:22:17 +01:00

28 lines
538 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.mustCall((err) => {
common.expectsError({
code: 'ERR_STREAM_WRITE_AFTER_END',
name: 'Error'
})(err);
server.close();
}));
res.write('hello');
res.end();
setImmediate(common.mustCall(() => {
res.end('world');
}));
}
server.listen(0, common.mustCall(() => {
http.get(`http://localhost:${server.address().port}`);
}));