http: simplify isCookieField
Handrolling and checking char by char is no longer faster than just using toLowerCase and strict comparison. PR-URL: https://github.com/nodejs/node/pull/20131 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Yuta Hiroto <hello@hiroppy.me> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
This commit is contained in:
Родитель
f4a559b240
Коммит
c449eb5e8a
|
@ -58,24 +58,10 @@ var RE_CONN_VALUES = /(?:^|\W)close|upgrade(?:$|\W)/ig;
|
||||||
var RE_TE_CHUNKED = common.chunkExpression;
|
var RE_TE_CHUNKED = common.chunkExpression;
|
||||||
|
|
||||||
// isCookieField performs a case-insensitive comparison of a provided string
|
// isCookieField performs a case-insensitive comparison of a provided string
|
||||||
// against the word "cookie." This method (at least as of V8 5.4) is faster than
|
// against the word "cookie." As of V8 6.6 this is faster than handrolling or
|
||||||
// the equivalent case-insensitive regexp, even if isCookieField does not get
|
// using a case-insensitive RegExp.
|
||||||
// inlined.
|
|
||||||
function isCookieField(s) {
|
function isCookieField(s) {
|
||||||
if (s.length !== 6) return false;
|
return s.length === 6 && s.toLowerCase() === 'cookie';
|
||||||
var ch = s.charCodeAt(0);
|
|
||||||
if (ch !== 99 && ch !== 67) return false;
|
|
||||||
ch = s.charCodeAt(1);
|
|
||||||
if (ch !== 111 && ch !== 79) return false;
|
|
||||||
ch = s.charCodeAt(2);
|
|
||||||
if (ch !== 111 && ch !== 79) return false;
|
|
||||||
ch = s.charCodeAt(3);
|
|
||||||
if (ch !== 107 && ch !== 75) return false;
|
|
||||||
ch = s.charCodeAt(4);
|
|
||||||
if (ch !== 105 && ch !== 73) return false;
|
|
||||||
ch = s.charCodeAt(5);
|
|
||||||
if (ch !== 101 && ch !== 69) return false;
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function noopPendingOutput(amount) {}
|
function noopPendingOutput(amount) {}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче