fix: send headers to error rewrites
This commit is contained in:
@@ -1,18 +1,21 @@
|
||||
import { NextMiddleware, NextResponse } from "next/server"
|
||||
|
||||
import { Lang } from "./constants/languages"
|
||||
import * as authRequired from "./middlewares/authRequired"
|
||||
import * as bookingFlow from "./middlewares/bookingFlow"
|
||||
import * as cmsContent from "./middlewares/cmsContent"
|
||||
import * as currentWebLogin from "./middlewares/currentWebLogin"
|
||||
import * as currentWebLoginEmail from "./middlewares/currentWebLoginEmail"
|
||||
import * as currentWebLogout from "./middlewares/currentWebLogout"
|
||||
import * as handleAuth from "./middlewares/handleAuth"
|
||||
import * as myPages from "./middlewares/myPages"
|
||||
import * as webView from "./middlewares/webView"
|
||||
import { findLang } from "./utils/languages"
|
||||
import { Lang } from "@/constants/languages"
|
||||
|
||||
import * as authRequired from "@/middlewares/authRequired"
|
||||
import * as bookingFlow from "@/middlewares/bookingFlow"
|
||||
import * as cmsContent from "@/middlewares/cmsContent"
|
||||
import * as currentWebLogin from "@/middlewares/currentWebLogin"
|
||||
import * as currentWebLoginEmail from "@/middlewares/currentWebLoginEmail"
|
||||
import * as currentWebLogout from "@/middlewares/currentWebLogout"
|
||||
import * as handleAuth from "@/middlewares/handleAuth"
|
||||
import * as myPages from "@/middlewares/myPages"
|
||||
import { getDefaultRequestHeaders } from "@/middlewares/utils"
|
||||
import * as webView from "@/middlewares/webView"
|
||||
import { findLang } from "@/utils/languages"
|
||||
|
||||
export const middleware: NextMiddleware = async (request, event) => {
|
||||
const headers = getDefaultRequestHeaders(request)
|
||||
const lang = findLang(request.nextUrl.pathname)
|
||||
if (!lang) {
|
||||
// Lang is required for all our middleware.
|
||||
@@ -21,9 +24,13 @@ export const middleware: NextMiddleware = async (request, event) => {
|
||||
// which we do not want. We can move to that once all Current stuff is gone.
|
||||
|
||||
// Default to English if no lang is found.
|
||||
headers.set("x-lang", Lang.en)
|
||||
return NextResponse.rewrite(
|
||||
new URL(`/${Lang.en}/middleware-error/404`, request.nextUrl),
|
||||
{
|
||||
request: {
|
||||
headers,
|
||||
},
|
||||
status: 404,
|
||||
statusText: "Not found",
|
||||
}
|
||||
@@ -64,6 +71,9 @@ export const middleware: NextMiddleware = async (request, event) => {
|
||||
return NextResponse.rewrite(
|
||||
new URL(`/${lang}/middleware-error/${e.status}`, request.nextUrl),
|
||||
{
|
||||
request: {
|
||||
headers,
|
||||
},
|
||||
status: e.status,
|
||||
statusText: e.statusText,
|
||||
}
|
||||
@@ -75,6 +85,9 @@ export const middleware: NextMiddleware = async (request, event) => {
|
||||
return NextResponse.rewrite(
|
||||
new URL(`/${lang}/middleware-error/500`, request.nextUrl),
|
||||
{
|
||||
request: {
|
||||
headers,
|
||||
},
|
||||
status: 500,
|
||||
statusText: "Internal Server Error",
|
||||
}
|
||||
@@ -82,7 +95,11 @@ export const middleware: NextMiddleware = async (request, event) => {
|
||||
}
|
||||
|
||||
// Follow through with normal App router rules.
|
||||
return NextResponse.next()
|
||||
return NextResponse.next({
|
||||
request: {
|
||||
headers,
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
// See "Matching Paths" below to learn more
|
||||
|
||||
Reference in New Issue
Block a user