1'use strict';
2const common = require('../common');
3const http = require('http');
4const assert = require('assert');
5const expected = {
6  '__proto__': null,
7  'testheader1': 'foo',
8  'testheader2': 'bar',
9  'testheader3': 'xyz'
10};
11const server = http.createServer(common.mustCall((req, res) => {
12  let retval = res.setHeader('testheader1', 'foo');
13
14  // Test that the setHeader returns the same response object.
15  assert.strictEqual(retval, res);
16
17  retval = res.setHeader('testheader2', 'bar').setHeader('testheader3', 'xyz');
18  // Test that chaining works for setHeader.
19  assert.deepStrictEqual(res.getHeaders(), expected);
20  res.end('ok');
21}));
22server.listen(0, () => {
23  http.get({ port: server.address().port }, common.mustCall((res) => {
24    res.on('data', () => {});
25    res.on('end', common.mustCall(() => {
26      server.close();
27    }));
28  }));
29});
30