From fc29a13ad2ff8c48379e92c67d10c968b706f62a Mon Sep 17 00:00:00 2001 From: JJ Kasper Date: Thu, 6 Apr 2023 15:01:04 -0700 Subject: [PATCH] Fix query normalize on edge deploy (#48045) Fixes: https://github.com/vercel/next.js/actions/runs/4632507508/jobs/8196861461#step:6:464 --- packages/next/src/server/web-server.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/packages/next/src/server/web-server.ts b/packages/next/src/server/web-server.ts index 68e1de0b046a..a340a49de1f2 100644 --- a/packages/next/src/server/web-server.ts +++ b/packages/next/src/server/web-server.ts @@ -23,6 +23,7 @@ import { isDynamicRoute } from '../shared/lib/router/utils' import { interpolateDynamicPath, normalizeVercelUrl } from './server-utils' import { getNamedRouteRegex } from '../shared/lib/router/utils/route-regex' import { IncrementalCache } from './lib/incremental-cache' +import { NEXT_QUERY_PARAM_PREFIX } from '../lib/constants' interface WebServerOptions extends Options { webServerConfig: { page: string @@ -104,6 +105,18 @@ export default class NextWebServer extends BaseServer { res: BaseNextResponse, parsedUrl: UrlWithParsedQuery ): Promise { + for (const key of Object.keys(parsedUrl.query)) { + const value = parsedUrl.query[key] + + if ( + key !== NEXT_QUERY_PARAM_PREFIX && + key.startsWith(NEXT_QUERY_PARAM_PREFIX) + ) { + const normalizedKey = key.substring(NEXT_QUERY_PARAM_PREFIX.length) + parsedUrl.query[normalizedKey] = value + delete parsedUrl.query[key] + } + } super.run(req, res, parsedUrl) } protected async hasPage(page: string) {