Move normalizing of query for edge (#48373)
Follow-up to https://github.com/vercel/next.js/pull/48370 this just moves the normalizing to the adapter instead of the web-server so it's in a more specific place.
This commit is contained in:
parent
26a35a4798
commit
43519cf586
2 changed files with 18 additions and 13 deletions
|
@ -23,7 +23,6 @@ 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
|
||||
|
@ -105,18 +104,6 @@ export default class NextWebServer extends BaseServer<WebServerOptions> {
|
|||
res: BaseNextResponse,
|
||||
parsedUrl: UrlWithParsedQuery
|
||||
): Promise<void> {
|
||||
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) {
|
||||
|
|
|
@ -16,6 +16,7 @@ import {
|
|||
NEXT_ROUTER_STATE_TREE,
|
||||
RSC,
|
||||
} from '../../client/components/app-router-headers'
|
||||
import { NEXT_QUERY_PARAM_PREFIX } from '../../lib/constants'
|
||||
|
||||
declare const _ENTRIES: any
|
||||
|
||||
|
@ -70,6 +71,23 @@ export async function adapter(
|
|||
nextConfig: params.request.nextConfig,
|
||||
})
|
||||
|
||||
for (const key of requestUrl.searchParams.keys()) {
|
||||
const value = requestUrl.searchParams.getAll(key)
|
||||
|
||||
if (
|
||||
key !== NEXT_QUERY_PARAM_PREFIX &&
|
||||
key.startsWith(NEXT_QUERY_PARAM_PREFIX)
|
||||
) {
|
||||
const normalizedKey = key.substring(NEXT_QUERY_PARAM_PREFIX.length)
|
||||
requestUrl.searchParams.delete(normalizedKey)
|
||||
|
||||
for (const val of value) {
|
||||
requestUrl.searchParams.append(normalizedKey, val)
|
||||
}
|
||||
requestUrl.searchParams.delete(key)
|
||||
}
|
||||
}
|
||||
|
||||
// Ensure users only see page requests, never data requests.
|
||||
const buildId = requestUrl.buildId
|
||||
requestUrl.buildId = ''
|
||||
|
|
Loading…
Reference in a new issue