diff options
author | Jared Flatow <jflatow@gmail.com> | 2023-10-27 04:34:41 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-27 05:34:41 -0600 |
commit | 33565e16ca0f9d2d04e2c43b7f6949106ba8cf18 (patch) | |
tree | 8fa7e251d936440c02cdc2ed4a189538effde5f7 /ext/http/00_serve.js | |
parent | 9ec18c35c7e6207fc96d6b2508c3bf37953c4f93 (diff) |
fix(ext/http): patch regression in variadic args to serve handler (#20796)
I'm not sure what was the purpose of trying to be so clever with the
args were (maybe an optimization?), but it breaks variadic args as
pointed out in #20054.
Signed-off-by: Matt Mastracci <matthew@mastracci.com>
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
Diffstat (limited to 'ext/http/00_serve.js')
-rw-r--r-- | ext/http/00_serve.js | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/ext/http/00_serve.js b/ext/http/00_serve.js index 2e0c62fef..17a67814b 100644 --- a/ext/http/00_serve.js +++ b/ext/http/00_serve.js @@ -435,8 +435,6 @@ function fastSyncResponseOrStream(req, respBody, status) { */ function mapToCallback(context, callback, onError) { 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 @@ -444,20 +442,11 @@ function mapToCallback(context, callback, onError) { let innerRequest; let response; try { - if (hasCallback) { - innerRequest = new InnerRequest(req, context); - const request = fromInnerRequest(innerRequest, signal, "immutable"); - if (hasOneCallback) { - response = await callback(request); - } else { - response = await callback( - request, - new ServeHandlerInfo(innerRequest), - ); - } - } else { - response = await callback(); - } + innerRequest = new InnerRequest(req, context); + response = await callback( + fromInnerRequest(innerRequest, signal, "immutable"), + new ServeHandlerInfo(innerRequest), + ); } catch (error) { try { response = await onError(error); |