From eec8800513eda559ca5553b31a476f14b9e6d200 Mon Sep 17 00:00:00 2001 From: Marvin Hagemeister Date: Fri, 17 May 2024 14:35:19 +0200 Subject: [PATCH] fix: serve handler error with 0 arguments (#23652) Fixes https://github.com/denoland/deno/issues/23651 Co-authored-by: Satya Rohith --- ext/http/00_serve.ts | 4 ++-- tests/testdata/serve/no_args.ts | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 tests/testdata/serve/no_args.ts diff --git a/ext/http/00_serve.ts b/ext/http/00_serve.ts index b12a873905..de94779dcd 100644 --- a/ext/http/00_serve.ts +++ b/ext/http/00_serve.ts @@ -793,9 +793,9 @@ internals.serveHttpOnConnection = serveHttpOnConnection; function registerDeclarativeServer(exports) { if (ObjectHasOwn(exports, "fetch")) { - if (typeof exports.fetch !== "function" || exports.fetch.length !== 1) { + if (typeof exports.fetch !== "function") { throw new TypeError( - "Invalid type for fetch: must be a function with a single parameter", + "Invalid type for fetch: must be a function with a single or no parameter", ); } return ({ servePort, serveHost }) => { diff --git a/tests/testdata/serve/no_args.ts b/tests/testdata/serve/no_args.ts new file mode 100644 index 0000000000..891ddea675 --- /dev/null +++ b/tests/testdata/serve/no_args.ts @@ -0,0 +1,5 @@ +export default { + fetch() { + return new Response("deno serve with no args in fetch() works!"); + }, +};