1// Flags: --expose-internals 2 3'use strict'; 4 5const common = require('../common'); 6const assert = require('assert'); 7const http = require('http'); 8const { kTimeout } = require('internal/timers'); 9 10const server = http.createServer((req, res) => { 11 // This space is intentionally left blank. 12}); 13 14server.listen(0, common.localhostIPv4, common.mustCall(() => { 15 const port = server.address().port; 16 const req = http.get(`http://${common.localhostIPv4}:${port}`); 17 18 req.setTimeout(1); 19 req.on('socket', common.mustCall((socket) => { 20 assert.strictEqual(socket[kTimeout], null); 21 socket.on('connect', common.mustCall(() => { 22 assert.strictEqual(socket[kTimeout]._idleTimeout, 1); 23 })); 24 })); 25 req.on('timeout', common.mustCall(() => req.abort())); 26 req.on('error', common.mustCall((err) => { 27 assert.strictEqual(err.message, 'socket hang up'); 28 server.close(); 29 })); 30})); 31