diff options
Diffstat (limited to 'lib/_http_outgoing.js')
-rw-r--r-- | lib/_http_outgoing.js | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/_http_outgoing.js b/lib/_http_outgoing.js index f40cf923f9b..36d3054eab0 100644 --- a/lib/_http_outgoing.js +++ b/lib/_http_outgoing.js @@ -166,6 +166,8 @@ ObjectDefineProperty(OutgoingMessage.prototype, '_headers', { } else if (typeof val === 'object') { const headers = this[kOutHeaders] = ObjectCreate(null); const keys = ObjectKeys(val); + // Retain for(;;) loop for performance reasons + // Refs: https://github.com/nodejs/node/pull/30958 for (var i = 0; i < keys.length; ++i) { const name = keys[i]; headers[name.toLowerCase()] = [name, val[name]]; @@ -189,6 +191,8 @@ ObjectDefineProperty(OutgoingMessage.prototype, '_headerNames', { if (headers !== null) { const out = ObjectCreate(null); const keys = ObjectKeys(headers); + // Retain for(;;) loop for performance reasons + // Refs: https://github.com/nodejs/node/pull/30958 for (var i = 0; i < keys.length; ++i) { const key = keys[i]; const val = headers[key][0]; @@ -204,6 +208,8 @@ ObjectDefineProperty(OutgoingMessage.prototype, '_headerNames', { if (!headers) return; const keys = ObjectKeys(val); + // Retain for(;;) loop for performance reasons + // Refs: https://github.com/nodejs/node/pull/30958 for (var i = 0; i < keys.length; ++i) { const header = headers[keys[i]]; if (header) @@ -224,6 +230,8 @@ OutgoingMessage.prototype._renderHeaders = function _renderHeaders() { if (headersMap !== null) { const keys = ObjectKeys(headersMap); + // Retain for(;;) loop for performance reasons + // Refs: https://github.com/nodejs/node/pull/30958 for (var i = 0, l = keys.length; i < l; i++) { const key = keys[i]; headers[headersMap[key][0]] = headersMap[key][1]; @@ -458,6 +466,8 @@ function processHeader(self, state, key, value, validate) { validateHeaderName(key); if (ArrayIsArray(value)) { if (value.length < 2 || !isCookieField(key)) { + // Retain for(;;) loop for performance reasons + // Refs: https://github.com/nodejs/node/pull/30958 for (var i = 0; i < value.length; i++) storeHeader(self, state, key, value[i], validate); return; @@ -559,6 +569,8 @@ OutgoingMessage.prototype.getHeaders = function getHeaders() { const ret = ObjectCreate(null); if (headers) { const keys = ObjectKeys(headers); + // Retain for(;;) loop for performance reasons + // Refs: https://github.com/nodejs/node/pull/30958 for (var i = 0; i < keys.length; ++i) { const key = keys[i]; const val = headers[key][1]; @@ -700,6 +712,8 @@ OutgoingMessage.prototype.addTrailers = function addTrailers(headers) { const keys = ObjectKeys(headers); const isArray = ArrayIsArray(headers); var field, value; + // Retain for(;;) loop for performance reasons + // Refs: https://github.com/nodejs/node/pull/30958 for (var i = 0, l = keys.length; i < l; i++) { var key = keys[i]; if (isArray) { @@ -854,6 +868,8 @@ OutgoingMessage.prototype._flushOutput = function _flushOutput(socket) { const outputData = this.outputData; socket.cork(); let ret; + // Retain for(;;) loop for performance reasons + // Refs: https://github.com/nodejs/node/pull/30958 for (var i = 0; i < outputLength; i++) { const { data, encoding, callback } = outputData[i]; ret = socket.write(data, encoding, callback); |