Merged in fix/date-query-params (pull request #2213)
fix: date query params lowercase redirect middleware * fix: date query params lowercase redirect middleware Approved-by: Joakim Jäderberg
This commit is contained in:
@@ -9,6 +9,7 @@ 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 dateQueryParams from "@/middlewares/dateQueryParams"
|
||||
import * as familyAndFriends from "@/middlewares/familyAndFriends"
|
||||
import * as handleAuth from "@/middlewares/handleAuth"
|
||||
import * as invalidUrl from "@/middlewares/invalidUrl"
|
||||
@@ -60,6 +61,7 @@ export const middleware: NextMiddleware = async (request, event) => {
|
||||
handleAuth,
|
||||
myPages,
|
||||
webView,
|
||||
dateQueryParams,
|
||||
legacySearchParams,
|
||||
bookingFlow,
|
||||
familyAndFriends,
|
||||
|
||||
36
apps/scandic-web/middlewares/dateQueryParams.ts
Normal file
36
apps/scandic-web/middlewares/dateQueryParams.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
import { type NextMiddleware, NextResponse } from "next/server"
|
||||
|
||||
import type { MiddlewareMatcher } from "@/types/middleware"
|
||||
|
||||
export const middleware: NextMiddleware = (request) => {
|
||||
const url = request.nextUrl.clone()
|
||||
const { searchParams } = url
|
||||
|
||||
let modified = false
|
||||
|
||||
if (searchParams.has("fromDate")) {
|
||||
const value = searchParams.get("fromDate")
|
||||
searchParams.delete("fromDate")
|
||||
searchParams.set("fromdate", value!)
|
||||
modified = true
|
||||
}
|
||||
|
||||
if (searchParams.has("toDate")) {
|
||||
const value = searchParams.get("toDate")
|
||||
searchParams.delete("toDate")
|
||||
searchParams.set("todate", value!)
|
||||
modified = true
|
||||
}
|
||||
|
||||
if (modified) {
|
||||
url.search = searchParams.toString()
|
||||
return NextResponse.redirect(url)
|
||||
}
|
||||
|
||||
return NextResponse.next()
|
||||
}
|
||||
|
||||
export const matcher: MiddlewareMatcher = (request) => {
|
||||
const { searchParams } = request.nextUrl
|
||||
return searchParams.has("fromDate") || searchParams.has("toDate")
|
||||
}
|
||||
Reference in New Issue
Block a user