From ce541b03b7acc6427d9f18add882e81308844db6 Mon Sep 17 00:00:00 2001 From: Dominik Ferber Date: Wed, 7 Jun 2023 13:52:25 +0300 Subject: [PATCH] avoid modifying req.nextUrl Avoids modifying req.nextUrl by constructing new URLs instead. I did not actually test these changes, please verify before merging. --- packages/sdk/vercel/examples/complete/middleware.ts | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/packages/sdk/vercel/examples/complete/middleware.ts b/packages/sdk/vercel/examples/complete/middleware.ts index 125c938d7a..b1cce31961 100644 --- a/packages/sdk/vercel/examples/complete/middleware.ts +++ b/packages/sdk/vercel/examples/complete/middleware.ts @@ -14,8 +14,7 @@ export async function middleware(req: NextRequest, context: NextFetchEvent) { !process.env.LD_CLIENT_SIDE_ID || !parseConnectionString(process.env.EDGE_CONFIG) ) { - req.nextUrl.pathname = '/missing-edge-config'; - return NextResponse.rewrite(req.nextUrl); + return NextResponse.rewrite(new URL('/missing-edge-config', request.url)); } try { @@ -41,11 +40,10 @@ export async function middleware(req: NextRequest, context: NextFetchEvent) { flagContext, false ); - if (hotDogFaviconEnabled) { - req.nextUrl.pathname = '/hot-dog.ico'; - } - return NextResponse.rewrite(req.nextUrl); + return hotDogFaviconEnabled + ? NextResponse.rewrite(new URL('/hot-dog.ico', request.url)) + : NextResponse.next() } const storeClosed = await client.variation('store-closed', flagContext, false);