1'use strict'; 2const common = require('../common'); 3const { finished } = require('stream'); 4 5const http = require('http'); 6const assert = require('assert'); 7 8const server = http.createServer(function(req, res) { 9 let closed = false; 10 res 11 .on('close', common.mustCall(() => { 12 closed = true; 13 finished(res, common.mustCall(() => { 14 server.close(); 15 })); 16 })) 17 .end(); 18 finished(res, common.mustCall(() => { 19 assert.strictEqual(closed, true); 20 })); 21 22}).listen(0, function() { 23 http 24 .request({ 25 port: this.address().port, 26 method: 'GET' 27 }) 28 .on('response', function(res) { 29 res.resume(); 30 }) 31 .end(); 32}); 33