| 'use strict'; |
| |
| const common = require('../common'); |
| const Countdown = require('../common/countdown'); |
| const assert = require('assert'); |
| const { createServer, request } = require('http'); |
| |
| const server = createServer(common.mustCall((req, res) => { |
| if (req.url.includes('setHeader')) { |
| res.setHeader('set-val', 'abc'); |
| } |
| |
| res.writeHead(200, [ |
| 'array-val', '1', |
| 'array-val', '2', |
| ]); |
| |
| res.end(); |
| }, 2)); |
| |
| const countdown = new Countdown(2, () => server.close()); |
| |
| server.listen(0, common.mustCall(() => { |
| request({ |
| port: server.address().port |
| }, common.mustCall((res) => { |
| assert.deepStrictEqual(res.rawHeaders.slice(0, 4), [ |
| 'array-val', '1', |
| 'array-val', '2', |
| ]); |
| |
| countdown.dec(); |
| })).end(); |
| |
| request({ |
| port: server.address().port, |
| path: '/?setHeader' |
| }, common.mustCall((res) => { |
| assert.deepStrictEqual(res.rawHeaders.slice(0, 6), [ |
| 'set-val', 'abc', |
| 'array-val', '1', |
| 'array-val', '2', |
| ]); |
| |
| countdown.dec(); |
| })).end(); |
| })); |