From 61522c51fc1ef091352196cb04571c4293dea4ac Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 7 Aug 2023 13:39:56 +0200 Subject: [PATCH 1/3] fix(web): use `null` for null body responses --- src/adapters/web.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/adapters/web.ts b/src/adapters/web.ts index fe0a4e21..973409b4 100644 --- a/src/adapters/web.ts +++ b/src/adapters/web.ts @@ -17,6 +17,8 @@ export function toWebHandler(app: App) { // --- Internal --- +const nullBodyResponses = new Set([101, 204, 205, 304]); + async function _handleWebRequest( app: App, request: Request, @@ -35,7 +37,11 @@ async function _handleWebRequest( body: request.body, }); - return new Response(res.body as BodyInit, { + const body = nullBodyResponses.has(res.status) + ? null + : (res.body as BodyInit); + + return new Response(body, { status: res.status, statusText: res.statusText, headers: res.headers, From 4a71988287ccf6742dc91ee7ccf2adc17bd33ded Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 7 Aug 2023 13:42:19 +0200 Subject: [PATCH 2/3] add head exception too --- src/adapters/web.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/adapters/web.ts b/src/adapters/web.ts index 973409b4..efcf9570 100644 --- a/src/adapters/web.ts +++ b/src/adapters/web.ts @@ -37,9 +37,10 @@ async function _handleWebRequest( body: request.body, }); - const body = nullBodyResponses.has(res.status) - ? null - : (res.body as BodyInit); + const body = + nullBodyResponses.has(res.status) || request.method === "HEAD" + ? null + : (res.body as BodyInit); return new Response(body, { status: res.status, From b7b15f7c64248cc6e4e7023a11f7937ea55a02ef Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Mon, 7 Aug 2023 13:43:21 +0200 Subject: [PATCH 3/3] add link to mdn --- src/adapters/web.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/adapters/web.ts b/src/adapters/web.ts index efcf9570..3aa78a0f 100644 --- a/src/adapters/web.ts +++ b/src/adapters/web.ts @@ -37,6 +37,7 @@ async function _handleWebRequest( body: request.body, }); + // https://developer.mozilla.org/en-US/docs/Web/API/Response/body const body = nullBodyResponses.has(res.status) || request.method === "HEAD" ? null