1'use strict'; 2 3const common = require('../common'); 4const { createServer, get } = require('http'); 5const assert = require('assert'); 6 7const server = createServer(common.mustCall((req, res) => { 8 res.writeHead(200); 9 res.write('Part of res.'); 10})); 11 12function onUncaught(error) { 13 assert.strictEqual(error.message, 'Destroy test'); 14 server.close(); 15} 16 17process.on('uncaughtException', common.mustCall(onUncaught)); 18 19server.listen(0, () => { 20 get({ 21 port: server.address().port 22 }, common.mustCall((res) => { 23 const err = new Error('Destroy test'); 24 assert.strictEqual(res.errored, null); 25 res.destroy(err); 26 assert.strictEqual(res.closed, false); 27 assert.strictEqual(res.errored, err); 28 res.on('close', () => { 29 assert.strictEqual(res.closed, true); 30 }); 31 })); 32}); 33