summaryrefslogtreecommitdiff
path: root/ext/http/00_serve.js
diff options
context:
space:
mode:
authorMarvin Hagemeister <marvin@deno.com>2023-06-09 23:21:26 +0200
committerGitHub <noreply@github.com>2023-06-09 23:21:26 +0200
commited76456059629f5408ea40248bed6e6e22d15ffe (patch)
treebe6a78fb2caf0ce08a76760ec978db6dae44a652 /ext/http/00_serve.js
parent2b2eebd583a156452f47e9ab7f19b0492c591dea (diff)
perf(serve): hoist repeated condition (#19449)
Diffstat (limited to 'ext/http/00_serve.js')
-rw-r--r--ext/http/00_serve.js7
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, {