From 9454c6a3c10797554f6f1134a1a94f651928cf38 Mon Sep 17 00:00:00 2001 From: Nate Moore Date: Tue, 1 Aug 2023 11:23:19 -0500 Subject: [PATCH] chore: address feedback from #7754 --- packages/astro/src/core/app/index.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/astro/src/core/app/index.ts b/packages/astro/src/core/app/index.ts index 37c972287cc0..288385598771 100644 --- a/packages/astro/src/core/app/index.ts +++ b/packages/astro/src/core/app/index.ts @@ -273,7 +273,7 @@ export class App { } /** - * If is a known error code, try sending the according page (e.g. 404.astro / 500.astro). + * If it is a known error code, try sending the according page (e.g. 404.astro / 500.astro). * This also handles pre-rendered /404 or /500 routes */ async #renderError( @@ -319,8 +319,10 @@ export class App { const { status, statusText, headers } = oldResponse; return new Response(newResponse.body, { + // If the original status was 200 (default), override it with the new status (probably 404 or 500) + // Otherwise, the user set a specific status while rendering and we should respect that one status: status === 200 ? newResponse.status : status, - statusText, + statusText: status === 200 ? newResponse.statusText : statusText, headers: new Headers(Array.from(headers)), }); }