diff options
author | Luca Casonato <hello@lcas.dev> | 2021-06-15 16:37:05 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-15 16:37:05 +0200 |
commit | 49ec3d10ad90851f4d28274a3f0fe96c642204ac (patch) | |
tree | 0d6633b3745addabfa0805723ea9f733b35f2e1d /extensions/fetch/20_headers.js | |
parent | b4026dac9c4fb2b6cfc4a7015b4bacd102e06d08 (diff) |
refactor: store header keys lower case internally (#10958)
This is a minor optimization that removes some header key lowercasing
that previously happened on access.
Diffstat (limited to 'extensions/fetch/20_headers.js')
-rw-r--r-- | extensions/fetch/20_headers.js | 28 |
1 files changed, 11 insertions, 17 deletions
diff --git a/extensions/fetch/20_headers.js b/extensions/fetch/20_headers.js index b5051a149..a0c001480 100644 --- a/extensions/fetch/20_headers.js +++ b/extensions/fetch/20_headers.js @@ -95,13 +95,7 @@ // 7. const list = headers[_headerList]; - const lowercaseName = byteLowerCase(name); - for (let i = 0; i < list.length; i++) { - if (byteLowerCase(list[i][0]) === lowercaseName) { - name = list[i][0]; - break; - } - } + name = byteLowerCase(name); list.push([name, value]); } @@ -112,9 +106,9 @@ */ function getHeader(list, name) { const lowercaseName = byteLowerCase(name); - const entries = list.filter((entry) => - byteLowerCase(entry[0]) === lowercaseName - ).map((entry) => entry[1]); + const entries = list + .filter((entry) => entry[0] === lowercaseName) + .map((entry) => entry[1]); if (entries.length === 0) { return null; } else { @@ -182,7 +176,7 @@ const headers = {}; const cookies = []; for (const entry of list) { - const name = byteLowerCase(entry[0]); + const name = entry[0]; const value = entry[1]; if (value === null) throw new TypeError("Unreachable"); // The following if statement is not spec compliant. @@ -270,9 +264,9 @@ } const list = this[_headerList]; - const lowercaseName = byteLowerCase(name); + name = byteLowerCase(name); for (let i = 0; i < list.length; i++) { - if (byteLowerCase(list[i][0]) === lowercaseName) { + if (list[i][0] === name) { list.splice(i, 1); i--; } @@ -314,9 +308,9 @@ } const list = this[_headerList]; - const lowercaseName = byteLowerCase(name); + name = byteLowerCase(name); for (let i = 0; i < list.length; i++) { - if (byteLowerCase(list[i][0]) === lowercaseName) { + if (list[i][0] === name) { return true; } } @@ -358,10 +352,10 @@ } const list = this[_headerList]; - const lowercaseName = byteLowerCase(name); + name = byteLowerCase(name); let added = false; for (let i = 0; i < list.length; i++) { - if (byteLowerCase(list[i][0]) === lowercaseName) { + if (list[i][0] === name) { if (!added) { list[i][1] = value; added = true; |