Skip to content

Commit

Permalink
Revert "http: lazy create IncomingMessage.headers"
Browse files Browse the repository at this point in the history
This reverts commit b58725c.

Fixes: #36550

PR-URL: #36553
Refs: #35281
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Myles Borins <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
  • Loading branch information
BethGriggs committed Dec 17, 2020
1 parent 12a0111 commit 29fac46
Showing 1 changed file with 6 additions and 56 deletions.
62 changes: 6 additions & 56 deletions lib/_http_incoming.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,10 @@
const {
ObjectDefineProperty,
ObjectSetPrototypeOf,
Symbol
} = primordials;

const Stream = require('stream');

const kHeaders = Symbol('kHeaders');
const kHeadersCount = Symbol('kHeadersCount');
const kTrailers = Symbol('kTrailers');
const kTrailersCount = Symbol('kTrailersCount');

function readStart(socket) {
if (socket && !socket._paused && socket.readable)
socket.resume();
Expand Down Expand Up @@ -64,11 +58,9 @@ function IncomingMessage(socket) {
this.httpVersionMinor = null;
this.httpVersion = null;
this.complete = false;
this[kHeaders] = null;
this[kHeadersCount] = 0;
this.headers = {};
this.rawHeaders = [];
this[kTrailers] = null;
this[kTrailersCount] = 0;
this.trailers = {};
this.rawTrailers = [];

this.aborted = false;
Expand Down Expand Up @@ -101,44 +93,6 @@ ObjectDefineProperty(IncomingMessage.prototype, 'connection', {
}
});

ObjectDefineProperty(IncomingMessage.prototype, 'headers', {
get: function() {
if (!this[kHeaders]) {
this[kHeaders] = {};

const src = this.rawHeaders;
const dst = this[kHeaders];

for (let n = 0; n < this[kHeadersCount]; n += 2) {
this._addHeaderLine(src[n + 0], src[n + 1], dst);
}
}
return this[kHeaders];
},
set: function(val) {
this[kHeaders] = val;
}
});

ObjectDefineProperty(IncomingMessage.prototype, 'trailers', {
get: function() {
if (!this[kTrailers]) {
this[kTrailers] = {};

const src = this.rawTrailers;
const dst = this[kTrailers];

for (let n = 0; n < this[kTrailersCount]; n += 2) {
this._addHeaderLine(src[n + 0], src[n + 1], dst);
}
}
return this[kTrailers];
},
set: function(val) {
this[kTrailers] = val;
}
});

IncomingMessage.prototype.setTimeout = function setTimeout(msecs, callback) {
if (callback)
this.on('timeout', callback);
Expand Down Expand Up @@ -177,18 +131,14 @@ function _addHeaderLines(headers, n) {
let dest;
if (this.complete) {
this.rawTrailers = headers;
this[kTrailersCount] = n;
dest = this[kTrailers];
dest = this.trailers;
} else {
this.rawHeaders = headers;
this[kHeadersCount] = n;
dest = this[kHeaders];
dest = this.headers;
}

if (dest) {
for (let i = 0; i < n; i += 2) {
this._addHeaderLine(headers[i], headers[i + 1], dest);
}
for (let i = 0; i < n; i += 2) {
this._addHeaderLine(headers[i], headers[i + 1], dest);
}
}
}
Expand Down

0 comments on commit 29fac46

Please sign in to comment.