diff options
author | Marvin Hagemeister <marvin@deno.com> | 2023-06-09 23:21:26 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-09 23:21:26 +0200 |
commit | ed76456059629f5408ea40248bed6e6e22d15ffe (patch) | |
tree | be6a78fb2caf0ce08a76760ec978db6dae44a652 /ext/http/00_serve.js | |
parent | 2b2eebd583a156452f47e9ab7f19b0492c591dea (diff) |
perf(serve): hoist repeated condition (#19449)
Diffstat (limited to 'ext/http/00_serve.js')
-rw-r--r-- | ext/http/00_serve.js | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/ext/http/00_serve.js b/ext/http/00_serve.js index 7c9b29069..a26c6604e 100644 --- a/ext/http/00_serve.js +++ b/ext/http/00_serve.js @@ -503,16 +503,19 @@ async function asyncResponse(responseBodies, req, status, stream) { function mapToCallback(context, callback, onError) { const responseBodies = context.responseBodies; const signal = context.abortController.signal; + const hasCallback = callback.length > 0; + const hasOneCallback = callback.length === 1; + return async function (req) { // Get the response from the user-provided callback. If that fails, use onError. If that fails, return a fallback // 500 error. let innerRequest; let response; try { - if (callback.length > 0) { + if (hasCallback) { innerRequest = new InnerRequest(req, context); const request = fromInnerRequest(innerRequest, signal, "immutable"); - if (callback.length === 1) { + if (hasOneCallback) { response = await callback(request); } else { response = await callback(request, { |