Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/_http_outgoing.js')
-rw-r--r--lib/_http_outgoing.js16
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);