From f14c40d05df782627a4148b0da2602e65b9dfed9 Mon Sep 17 00:00:00 2001 From: Bruno Bernardino Date: Thu, 28 Aug 2025 17:48:10 +0100 Subject: [PATCH] Properly fix empty body on GET/HEAD for CardDav/CalDav Related to 47f443c300336e376cf189ed8f2007ce38d3ff08 --- docker-compose.yml | 2 +- routes/caldav.tsx | 4 ++-- routes/carddav.tsx | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 28861f0..ea9b3dc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,6 @@ services: website: - image: ghcr.io/bewcloud/bewcloud:v2.4.6 + image: ghcr.io/bewcloud/bewcloud:v2.4.7 restart: always ports: - 127.0.0.1:8000:8000 diff --git a/routes/caldav.tsx b/routes/caldav.tsx index b4a0b39..82861a8 100644 --- a/routes/caldav.tsx +++ b/routes/caldav.tsx @@ -31,14 +31,14 @@ export const handler: Handler = async (request, context const requestBodyText = await request.clone().text(); // Remove the `/caldav/` prefix from the hrefs in the request - let parsedRequestBodyText = requestBodyText.replaceAll('/caldav/', `/`).replaceAll( + let parsedRequestBodyText: string | undefined = requestBodyText.replaceAll('/caldav/', `/`).replaceAll( ':href>/caldav/', `:href>/`, ); // The spec doesn't allow a body for GET or HEAD requests (and Deno fails if you try) if (request.method === 'GET' || request.method === 'HEAD') { - parsedRequestBodyText = ''; + parsedRequestBodyText = undefined; } const response = await fetch(`${calendarConfig.calDavUrl}/${path}`, { diff --git a/routes/carddav.tsx b/routes/carddav.tsx index c42aff8..52e87f8 100644 --- a/routes/carddav.tsx +++ b/routes/carddav.tsx @@ -31,14 +31,14 @@ export const handler: Handler = async (request, context const requestBodyText = await request.clone().text(); // Remove the `/carddav/` prefix from the hrefs in the request - let parsedRequestBodyText = requestBodyText.replaceAll('/carddav/', `/`).replaceAll( + let parsedRequestBodyText: string | undefined = requestBodyText.replaceAll('/carddav/', `/`).replaceAll( ':href>/carddav/', `:href>/`, ); // The spec doesn't allow a body for GET or HEAD requests (and Deno fails if you try) if (request.method === 'GET' || request.method === 'HEAD') { - parsedRequestBodyText = ''; + parsedRequestBodyText = undefined; } const response = await fetch(`${contactsConfig.cardDavUrl}/${path}`, {