1 'use strict'; 2 // Flags: --expose-internals 3 4 require('../common'); 5 const assert = require('assert'); 6 7 const kOutHeaders = require('internal/http').kOutHeaders; 8 const http = require('http'); 9 const OutgoingMessage = http.OutgoingMessage; 10 11 { 12 const outgoingMessage = new OutgoingMessage(); 13 outgoingMessage._header = {}; 14 assert.throws( 15 () => outgoingMessage._renderHeaders(), 16 { 17 code: 'ERR_HTTP_HEADERS_SENT', 18 name: 'Error', 19 message: 'Cannot render headers after they are sent to the client' 20 } 21 ); 22 } 23 24 { 25 const outgoingMessage = new OutgoingMessage(); 26 outgoingMessage[kOutHeaders] = null; 27 const result = outgoingMessage._renderHeaders(); 28 assert.deepStrictEqual(result, {}); 29 } 30 31 32 { 33 const outgoingMessage = new OutgoingMessage(); 34 outgoingMessage[kOutHeaders] = {}; 35 const result = outgoingMessage._renderHeaders(); 36 assert.deepStrictEqual(result, {}); 37 } 38 39 { 40 const outgoingMessage = new OutgoingMessage(); 41 outgoingMessage[kOutHeaders] = { 42 host: ['host', 'nodejs.org'], 43 origin: ['Origin', 'localhost'] 44 }; 45 const result = outgoingMessage._renderHeaders(); 46 assert.deepStrictEqual(result, { 47 host: 'nodejs.org', 48 Origin: 'localhost' 49 }); 50 } 51