1'use strict'; 2 3const common = require('../common'); 4const http = require('http'); 5 6function request(server) { 7 http.get({ 8 port: server.address().port, 9 path: '/', 10 }, (res) => { 11 res.resume(); 12 }); 13} 14 15{ 16 const server = http.createServer((req, res) => { 17 // Hack to not remove parser out of server.connectionList 18 // See `freeParser` in _http_common.js 19 req.socket.parser.free = common.mustCall(); 20 req.socket.on('close', common.mustCall(() => { 21 server.close(); 22 })); 23 res.end('ok'); 24 }).listen(0, common.mustCall(() => { 25 request(server); 26 })); 27} 28 29{ 30 const server = http.createServer((req, res) => { 31 // See `freeParser` in _http_common.js 32 const { parser } = req.socket; 33 parser.free = common.mustCall(() => { 34 setImmediate(common.mustCall(() => { 35 parser.close(); 36 })); 37 }); 38 req.socket.on('close', common.mustCall(() => { 39 setImmediate(common.mustCall(() => { 40 server.close(); 41 })); 42 })); 43 res.end('ok'); 44 }).listen(0, common.mustCall(() => { 45 request(server); 46 })); 47} 48