mirror of
https://github.com/denoland/deno.git
synced 2024-12-22 23:34:47 -05:00
perf(fetch): optimize normalizeMethod() (#10154)
This commit is contained in:
parent
2eafbf2b98
commit
9f26e639dd
1 changed files with 22 additions and 8 deletions
|
@ -922,22 +922,36 @@
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} m
|
||||
* @returns {boolean}
|
||||
*/
|
||||
function isKnownMethod(m) {
|
||||
return (
|
||||
m === "DELETE" ||
|
||||
m === "GET" ||
|
||||
m === "HEAD" ||
|
||||
m === "OPTIONS" ||
|
||||
m === "POST" ||
|
||||
m === "PUT"
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} m
|
||||
* @returns {string}
|
||||
*/
|
||||
function normalizeMethod(m) {
|
||||
// Fast path for already valid methods
|
||||
if (isKnownMethod(m)) {
|
||||
return m;
|
||||
}
|
||||
// Normalize lower case (slowpath and should be avoided ...)
|
||||
const u = byteUpperCase(m);
|
||||
if (
|
||||
u === "DELETE" ||
|
||||
u === "GET" ||
|
||||
u === "HEAD" ||
|
||||
u === "OPTIONS" ||
|
||||
u === "POST" ||
|
||||
u === "PUT"
|
||||
) {
|
||||
if (isKnownMethod(u)) {
|
||||
return u;
|
||||
}
|
||||
// Otherwise passthrough
|
||||
return m;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue