Skip to content

Commit 52e4e87

Browse files
committed
chore: fix rewrites
1 parent 982f423 commit 52e4e87

File tree

4 files changed

+6
-2
lines changed

4 files changed

+6
-2
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
"test:next:disabled": "RUN_SKIPPED_TESTS=1 jest -c test/e2e/jest.config.disabled.js",
2323
"test:next:all": "RUN_SKIPPED_TESTS=1 jest -c test/e2e/jest.config.all.js",
2424
"test:next:appdir": "NEXT_TEST_VERSION=canary jest -c test/e2e/jest.config.appdir.js",
25+
"test:next:router": "jest -c test/e2e/jest.config.router.js",
2526
"test:jest": "jest",
2627
"playwright:install": "playwright install --with-deps chromium",
2728
"test:jest:update": "jest --updateSnapshot",

packages/runtime/src/templates/edge-shared/utils.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ export const buildResponse = async ({
151151

152152
// The edge router handles rewrites itself, so we don't need to redirect or rewrite here
153153
if (useEdgeRouter()) {
154+
request.headers.set('x-middleware-rewrite', relativeUrl)
154155
return addMiddlewareHeaders(context.next(), res)
155156
}
156157
if (rewriteUrl.hostname !== baseUrl.hostname) {

packages/runtime/src/templates/edge/router-post-middleware.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import type { RoutesManifest } from '../edge-shared/next-utils.ts'
1313
const handler = async (request: Request, context: Context) => {
1414
const rewrite = request.headers.get('x-middleware-rewrite')
1515
const result = runPostMiddleware(
16-
rewrite ? new Request(rewrite, request) : request,
16+
rewrite ? new Request(new URL(rewrite, request.url), request) : request,
1717
routesManifest as unknown as RoutesManifest,
1818
new Set(staticRoutes),
1919
)

packages/runtime/src/templates/edge/router-pre-middleware.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ globalThis.NETLIFY_NEXT_EDGE_ROUTER = true
1616
*/
1717

1818
const handler = async (request: Request, context: Context) => {
19+
// We add this ourselves. Don't allow users to forge it.
20+
request.headers.delete('x-matched-path')
21+
1922
const manifest: RoutesManifest = routesManifest as unknown as RoutesManifest
2023

2124
// Get changed response headers
@@ -24,7 +27,6 @@ const handler = async (request: Request, context: Context) => {
2427
const redirect = applyRedirectRules(request, manifest.redirects)
2528
let response: Response
2629
if (redirect) {
27-
console.log({ redirect })
2830
response = redirect
2931
} else if (extraHeaders.length === 0) {
3032
// No redirect and no new headers, so we can skip to the next function

0 commit comments

Comments
 (0)