From b833864c9cf044f7409b3fdd491508b8c7643aab Mon Sep 17 00:00:00 2001 From: Innei Date: Sun, 8 Jun 2025 11:56:39 +0800 Subject: [PATCH] fix(meta-handler): update URL handling in injectMetaHandler to include search parameters - Refactored the URL parsing logic to create a new URL object for better handling of pathname and search parameters. - Added searchParams to the handler's parameters for improved data accessibility. Signed-off-by: Innei --- apps/ssr/src/meta-handler.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/ssr/src/meta-handler.ts b/apps/ssr/src/meta-handler.ts index c703bd471..334aba863 100644 --- a/apps/ssr/src/meta-handler.ts +++ b/apps/ssr/src/meta-handler.ts @@ -46,13 +46,13 @@ export async function injectMetaHandler( for (const [pattern, handler] of Object.entries(importer)) { const matchFn = match(pattern, { decode: decodeURIComponent }) - const result = matchFn(url) + const parsedUrl = new URL(url, upstreamOrigin) + const result = matchFn(parsedUrl.pathname) if (result) { - const parsedUrl = new URL(url, upstreamOrigin) - return (await handler({ params: result.params as Record, + searchParams: parsedUrl.searchParams, url: parsedUrl, req, apiClient, @@ -79,6 +79,7 @@ export function defineMetadata, T extends url: URL params: Params apiClient: ApiClient + searchParams: URLSearchParams origin: string setStatus: (status: number) => void setStatusText: (statusText: string) => void