1'use strict'; 2// Flags: --expose-internals 3 4require('../common'); 5const assert = require('assert'); 6 7const kOutHeaders = require('internal/http').kOutHeaders; 8const http = require('http'); 9const 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