From 90e0b9ddc7577d9e1071346e906631dbecf4637a Mon Sep 17 00:00:00 2001 From: wobsoriano Date: Tue, 13 Aug 2024 14:48:40 -0700 Subject: [PATCH 1/2] fix(astro): Remove duplicate auth headers --- packages/astro/src/server/clerk-middleware.ts | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/packages/astro/src/server/clerk-middleware.ts b/packages/astro/src/server/clerk-middleware.ts index 0dc2b8ea5f5..67f276258fd 100644 --- a/packages/astro/src/server/clerk-middleware.ts +++ b/packages/astro/src/server/clerk-middleware.ts @@ -104,11 +104,11 @@ export const clerkMiddleware: ClerkMiddleware = (...args: unknown[]): any => { handlerResult = handleControlFlowErrors(e, clerkRequest, requestState, context); } - if (isRedirect(handlerResult!)) { - return serverRedirectWithAuth(context, clerkRequest, handlerResult!, options); + if (isRedirect(handlerResult)) { + return serverRedirectWithAuth(context, clerkRequest, handlerResult, options); } - const response = await decorateRequest(context.locals, handlerResult!, requestState); + const response = decorateRequest(context.locals, handlerResult); if (requestState.headers) { requestState.headers.forEach((value, key) => { response.headers.append(key, value); @@ -262,18 +262,7 @@ function findClosingHeadTagIndex(chunk: Uint8Array, endHeadTag: Uint8Array) { return chunk.findIndex((_, i) => endHeadTag.every((value, j) => value === chunk[i + j])); } -async function decorateRequest( - locals: APIContext['locals'], - res: Response, - requestState: RequestState, -): Promise { - const { reason, message, status, token } = requestState; - - res.headers.set(constants.Headers.AuthToken, token || ''); - res.headers.set(constants.Headers.AuthStatus, status); - res.headers.set(constants.Headers.AuthMessage, message || ''); - res.headers.set(constants.Headers.AuthReason, reason || ''); - +function decorateRequest(locals: APIContext['locals'], res: Response): Response { /** * Populate every page with the authObject. This allows for SSR to work properly * without sucrificing DX and having developers wrap each page with a Layout that would handle this. From 30b75062f4f154ffb15076a775b40918ffea8be0 Mon Sep 17 00:00:00 2001 From: Robert Soriano Date: Tue, 13 Aug 2024 14:55:46 -0700 Subject: [PATCH 2/2] chore(astro): Add changeset --- .changeset/shy-ghosts-flash.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/shy-ghosts-flash.md diff --git a/.changeset/shy-ghosts-flash.md b/.changeset/shy-ghosts-flash.md new file mode 100644 index 00000000000..645f9bb5ad4 --- /dev/null +++ b/.changeset/shy-ghosts-flash.md @@ -0,0 +1,5 @@ +--- +"@clerk/astro": patch +--- + +Remove duplicate headers set in Clerk middleware