summaryrefslogtreecommitdiff
path: root/extensions/fetch/20_headers.js
diff options
context:
space:
mode:
authorLuca Casonato <hello@lcas.dev>2021-06-15 16:37:05 +0200
committerGitHub <noreply@github.com>2021-06-15 16:37:05 +0200
commit49ec3d10ad90851f4d28274a3f0fe96c642204ac (patch)
tree0d6633b3745addabfa0805723ea9f733b35f2e1d /extensions/fetch/20_headers.js
parentb4026dac9c4fb2b6cfc4a7015b4bacd102e06d08 (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.js28
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;