Skip to content

Commit f5bea63

Browse files
peteyyczaddaleax
authored andcommitted
test: http outgoing _renderHeaders
PR-URL: #13981 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Refael Ackermann <[email protected]>
1 parent a675c3d commit f5bea63

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
'use strict';
2+
// Flags: --expose-internals
3+
4+
require('../common');
5+
const assert = require('assert');
6+
7+
const outHeadersKey = require('internal/http').outHeadersKey;
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.bind(outgoingMessage),
16+
/^Error: Can't render headers after they are sent to the client$/
17+
);
18+
}
19+
20+
{
21+
const outgoingMessage = new OutgoingMessage();
22+
outgoingMessage[outHeadersKey] = null;
23+
const result = outgoingMessage._renderHeaders();
24+
assert.deepStrictEqual(result, {});
25+
}
26+
27+
28+
{
29+
const outgoingMessage = new OutgoingMessage();
30+
outgoingMessage[outHeadersKey] = {};
31+
const result = outgoingMessage._renderHeaders();
32+
assert.deepStrictEqual(result, {});
33+
}
34+
35+
{
36+
const outgoingMessage = new OutgoingMessage();
37+
outgoingMessage[outHeadersKey] = {
38+
host: ['host', 'nodejs.org'],
39+
origin: ['Origin', 'localhost']
40+
};
41+
const result = outgoingMessage._renderHeaders();
42+
assert.deepStrictEqual(result, {
43+
host: 'nodejs.org',
44+
Origin: 'localhost'
45+
});
46+
}

0 commit comments

Comments
 (0)