Browse Source

http: Replace "in" usage with "=== undefined"

Speeds up http benchmarks.
v0.9.5-release
isaacs 12 years ago
parent
commit
9785ab6057
  1. 12
      lib/http.js

12
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;

Loading…
Cancel
Save