1'use strict'; 2 3const common = require('../common'); 4const assert = require('node:assert'); 5const http = require('node:http'); 6 7const headers = { foo: 'Bar' }; 8const server = http.createServer(common.mustCall((req, res) => { 9 assert.strictEqual(req.url, '/ping?q=term'); 10 assert.strictEqual(req.headers?.foo, headers.foo); 11 req.resume(); 12 req.on('end', () => { 13 res.writeHead(200); 14 res.end('pong'); 15 }); 16})); 17 18server.listen(0, common.localhostIPv4, () => { 19 const { address, port } = server.address(); 20 const url = new URL(`http://${address}:${port}/ping?q=term`); 21 url.headers = headers; 22 const clientReq = http.request(url); 23 clientReq.on('close', common.mustCall(() => { 24 server.close(); 25 })); 26 clientReq.end(); 27}); 28