mirror of
https://github.com/nodejs/node.git
synced 2024-11-21 10:59:27 +00:00
d385106302
Implement missing getters error & closed. Add support for proper "writable" check through `isWritable` helper. We cannot fix the `OutgoingMessage.writable` property as that would break the ecosystem. PR-URL: https://github.com/nodejs/node/pull/45672 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de> Reviewed-By: Minwoo Jung <nodecorelab@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
33 lines
798 B
JavaScript
33 lines
798 B
JavaScript
'use strict';
|
|
|
|
const common = require('../common');
|
|
const { createServer, get } = require('http');
|
|
const assert = require('assert');
|
|
|
|
const server = createServer(common.mustCall((req, res) => {
|
|
res.writeHead(200);
|
|
res.write('Part of res.');
|
|
}));
|
|
|
|
function onUncaught(error) {
|
|
assert.strictEqual(error.message, 'Destroy test');
|
|
server.close();
|
|
}
|
|
|
|
process.on('uncaughtException', common.mustCall(onUncaught));
|
|
|
|
server.listen(0, () => {
|
|
get({
|
|
port: server.address().port
|
|
}, common.mustCall((res) => {
|
|
const err = new Error('Destroy test');
|
|
assert.strictEqual(res.errored, null);
|
|
res.destroy(err);
|
|
assert.strictEqual(res.closed, false);
|
|
assert.strictEqual(res.errored, err);
|
|
res.on('close', () => {
|
|
assert.strictEqual(res.closed, true);
|
|
});
|
|
}));
|
|
});
|