| 'use strict'; |
| |
| const common = require('../common'); |
| const assert = require('node:assert'); |
| const http = require('node:http'); |
| |
| const headers = { foo: 'Bar' }; |
| const server = http.createServer(common.mustCall((req, res) => { |
| assert.strictEqual(req.url, '/ping?q=term'); |
| assert.strictEqual(req.headers?.foo, headers.foo); |
| req.resume(); |
| req.on('end', () => { |
| res.writeHead(200); |
| res.end('pong'); |
| }); |
| })); |
| |
| server.listen(0, common.localhostIPv4, common.mustCall(() => { |
| const { address, port } = server.address(); |
| const url = new URL(`http://${address}:${port}/ping?q=term`); |
| url.headers = headers; |
| const clientReq = http.request(url); |
| clientReq.on('close', common.mustCall(() => { |
| server.close(); |
| })); |
| clientReq.end(); |
| })); |