chore: gracefully handle 404s from pages router's dynamic pages + tests (#18618)
* restore pages/_error * set custom header in pages/_error * handle it in middleware * add test * remove logs * better test description
This commit is contained in:
@@ -22,6 +22,11 @@ const safeGet = async <T = any>(key: string): Promise<T | undefined> => {
|
||||
const middleware = async (req: NextRequest): Promise<NextResponse<unknown>> => {
|
||||
const url = req.nextUrl;
|
||||
const requestHeaders = new Headers(req.headers);
|
||||
const response = NextResponse.next();
|
||||
|
||||
if (response.headers.get("x-pages-router-error") === "true") {
|
||||
return NextResponse.rewrite(new URL("/_not-found", req.url));
|
||||
}
|
||||
|
||||
requestHeaders.set("x-url", req.url);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user