| 'use strict'; |
| const common = require('../common'); |
| const assert = require('assert'); |
| const http = require('http'); |
| |
| // Verify that ServerResponse.writeHead() works with arrays. |
| |
| { |
| const server = http.createServer(common.mustCall((req, res) => { |
| res.setHeader('test', '1'); |
| res.writeHead(200, [ 'test', '2', 'test2', '2' ]); |
| res.end(); |
| })); |
| |
| server.listen(0, common.mustCall(() => { |
| http.get({ port: server.address().port }, common.mustCall((res) => { |
| assert.strictEqual(res.headers.test, '2'); |
| assert.strictEqual(res.headers.test2, '2'); |
| res.resume().on('end', common.mustCall(() => { |
| server.close(); |
| })); |
| })); |
| })); |
| } |
| |
| { |
| const server = http.createServer(common.mustCall((req, res) => { |
| res.writeHead(200, [ 'test', '1', 'test2', '2' ]); |
| res.end(); |
| })); |
| |
| server.listen(0, common.mustCall(() => { |
| http.get({ port: server.address().port }, common.mustCall((res) => { |
| assert.strictEqual(res.headers.test, '1'); |
| assert.strictEqual(res.headers.test2, '2'); |
| res.resume().on('end', common.mustCall(() => { |
| server.close(); |
| })); |
| })); |
| })); |
| } |
| |
| |
| { |
| const server = http.createServer(common.mustCall((req, res) => { |
| try { |
| res.writeHead(200, [ 'test', '1', 'test2', '2', 'asd' ]); |
| } catch (err) { |
| assert.strictEqual(err.code, 'ERR_INVALID_ARG_VALUE'); |
| } |
| res.end(); |
| })); |
| |
| server.listen(0, common.mustCall(() => { |
| http.get({ port: server.address().port }, common.mustCall((res) => { |
| res.resume().on('end', common.mustCall(() => { |
| server.close(); |
| })); |
| })); |
| })); |
| } |
| |
| { |
| const server = http.createServer(common.mustCall((req, res) => { |
| res.writeHead(200, undefined, [ 'foo', 'bar' ]); |
| res.end(); |
| })); |
| |
| server.listen(0, common.mustCall(() => { |
| http.get({ port: server.address().port }, common.mustCall((res) => { |
| assert.strictEqual(res.statusMessage, 'OK'); |
| assert.strictEqual(res.statusCode, 200); |
| assert.strictEqual(res.headers.foo, 'bar'); |
| res.resume().on('end', common.mustCall(() => { |
| server.close(); |
| })); |
| })); |
| })); |
| } |