Skip to content
This repository was archived by the owner on Jul 6, 2018. It is now read-only.

Commit d5025de

Browse files
committed
From Map() to basic {}.
1 parent 16e0c23 commit d5025de

1 file changed

Lines changed: 27 additions & 25 deletions

File tree

lib/internal/http2.js

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -628,8 +628,8 @@ class Http2Incoming extends Readable {
628628
super(initHttp2IncomingOptions(options));
629629
if (!(stream instanceof Http2Stream))
630630
throw new TypeError('stream argument must be an Http2Stream instance');
631-
if (!(headers instanceof Map))
632-
throw new TypeError('headers argument must be a Map');
631+
if (typeof headers !== 'object')
632+
throw new TypeError('headers argument must be an object');
633633
this[kStream] = stream;
634634
this[kHeaders] = headers;
635635
this[kFinished] = false;
@@ -679,19 +679,19 @@ class Http2ServerRequest extends Http2Incoming {
679679
}
680680

681681
get method() {
682-
return this.headers.get(constants.HTTP2_HEADER_METHOD);
682+
return this.headers[constants.HTTP2_HEADER_METHOD];
683683
}
684684

685685
get authority() {
686-
return this.headers.get(constants.HTTP2_HEADER_AUTHORITY);
686+
return this.headers[constants.HTTP2_HEADER_AUTHORITY];
687687
}
688688

689689
get scheme() {
690-
return this.headers.get(constants.HTTP2_HEADER_SCHEME);
690+
return this.headers[constants.HTTP2_HEADER_SCHEME];
691691
}
692692

693693
get url() {
694-
return this.headers.get(constants.HTTP2_HEADER_PATH);
694+
return this.headers[constants.HTTP2_HEADER_PATH];
695695
}
696696
}
697697

@@ -762,10 +762,12 @@ class Http2Outgoing extends Writable {
762762
}
763763

764764
addHeaders(headers) {
765-
if (!headers) return;
766-
const keys = Object.keys(headers);
767-
for (const key of keys)
768-
this.setHeader(key, headers[key]);
765+
var keys;
766+
if (headers) {
767+
keys = Object.keys(headers);
768+
for (var i = 0; i < keys.length; i++)
769+
this.setHeader(keys[i], headers[keys[i]]);
770+
}
769771
return this;
770772
}
771773

@@ -1566,31 +1568,31 @@ class Http2ClientRequest extends Http2Outgoing {
15661568

15671569
setHeader(name, value) {
15681570
name = String(name).toLowerCase().trim();
1569-
if (this[kHeaders].has(name)) {
1570-
const existing = this[kHeaders].get(name);
1571+
const existing = this[kHeaders][name];
1572+
if (existing) {
15711573
if (Array.isArray(existing)) {
15721574
existing.push(String(value));
15731575
} else {
1574-
this[kHeaders].set(name, [existing, value]);
1576+
this[kHeaders][name] = [existing, value];
15751577
}
15761578
} else {
1577-
this[kHeaders].set(name, value);
1579+
this[kHeaders][name] = value;
15781580
}
15791581
}
15801582

15811583
setTrailer(name, value) {
15821584
if (!this[kTrailers])
1583-
this[kTrailers] = new Map();
1585+
this[kTrailers] = {};
15841586
name = String(name).toLowerCase().trim();
1585-
if (this[kTrailers].has(name)) {
1586-
const existing = this[kTrailers].get(name);
1587+
const existing = this[kTrailers][name];
1588+
if (existing) {
15871589
if (Array.isArray(existing)) {
15881590
existing.push(String(value));
15891591
} else {
1590-
this[kTrailers].set(name, [existing, value]);
1592+
this[kTrailers][name] = [existing, value];
15911593
}
15921594
} else {
1593-
this[kTrailers].set(name, value);
1595+
this[kTrailers][name] = value;
15941596
}
15951597
}
15961598

@@ -1613,13 +1615,13 @@ class Http2ClientRequest extends Http2Outgoing {
16131615

16141616
function addTrailers () {
16151617
const request = this[kRequest];
1616-
if (request[kTrailers] instanceof Map) {
1617-
for (const v of request[kTrailers]) {
1618-
const key = String(v[0]);
1619-
const value = v[1];
1618+
if (request[kTrailers]) {
1619+
// key is coerced on a string on set
1620+
for (var key in request[kTrailers]) {
1621+
const value = request[kTrailers][key];
16201622
if (Array.isArray(value) && value.length > 0) {
1621-
for (const item of value)
1622-
this.addTrailer(key, String(item));
1623+
for (var i = 0; i < value.length; i++)
1624+
this.addTrailer(key, String(value[i]));
16231625
} else {
16241626
this.addTrailer(key, String(value));
16251627
}

0 commit comments

Comments
 (0)