From 9785ab605746593601752a278c93fdc784462115 Mon Sep 17 00:00:00 2001 From: isaacs Date: Thu, 27 Dec 2012 09:13:58 -0800 Subject: [PATCH] http: Replace "in" usage with "=== undefined" Speeds up http benchmarks. --- lib/http.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/http.js b/lib/http.js index bf3a166e21..d6dd69ab35 100644 --- a/lib/http.js +++ b/lib/http.js @@ -352,7 +352,7 @@ IncomingMessage.prototype._addHeaderLine = function(field, value) { switch (field) { // Array headers: case 'set-cookie': - if (field in dest) { + if (dest[field] !== undefined) { dest[field].push(value); } else { dest[field] = [value]; @@ -372,7 +372,7 @@ IncomingMessage.prototype._addHeaderLine = function(field, value) { case 'proxy-authenticate': case 'sec-websocket-extensions': case 'sec-websocket-protocol': - if (field in dest) { + if (dest[field] !== undefined) { dest[field] += ', ' + value; } else { dest[field] = value; @@ -383,14 +383,14 @@ IncomingMessage.prototype._addHeaderLine = function(field, value) { default: if (field.slice(0, 2) == 'x-') { // except for x- - if (field in dest) { + if (dest[field] !== undefined) { dest[field] += ', ' + value; } else { dest[field] = value; } } else { // drop duplicates - if (!(field in dest)) dest[field] = value; + if (dest[field] === undefined) dest[field] = value; } break; } @@ -1010,7 +1010,7 @@ ServerResponse.prototype.writeHead = function(statusCode) { var field; for (var i = 0, len = obj.length; i < len; ++i) { field = obj[i][0]; - if (field in headers) { + if (headers[field] !== undefined) { obj.push([field, headers[field]]); } } @@ -1868,7 +1868,7 @@ function connectionListener(socket) { } }); - if ('expect' in req.headers && + if (req.headers.expect !== undefined && (req.httpVersionMajor == 1 && req.httpVersionMinor == 1) && continueExpression.test(req.headers['expect'])) { res._expect_continue = true;