diff --git a/middleware.ts b/middleware.ts index b21ef3a30..05299b8f5 100644 --- a/middleware.ts +++ b/middleware.ts @@ -4,6 +4,7 @@ import { findLang } from "./constants/languages" import * as authRequired from "./middlewares/authRequired" import * as cmsContent from "./middlewares/cmsContent" import * as currentWebLogin from "./middlewares/currentWebLogin" +import * as currentWebLogout from "./middlewares/currentWebLogout" import * as handleAuth from "./middlewares/handleAuth" import * as myPages from "./middlewares/myPages" import * as webView from "./middlewares/webView" @@ -26,6 +27,7 @@ export const middleware: NextMiddleware = async (request, event) => { const middlewares = [ currentWebLogin, + currentWebLogout, authRequired, handleAuth, myPages, diff --git a/middlewares/currentWebLogout.ts b/middlewares/currentWebLogout.ts new file mode 100644 index 000000000..d37bd5709 --- /dev/null +++ b/middlewares/currentWebLogout.ts @@ -0,0 +1,31 @@ +import { NextResponse } from "next/server" + +import { findLang } from "@/constants/languages" +import { badRequest } from "@/server/errors/next" + +import type { NextMiddleware } from "next/server" + +import type { MiddlewareMatcher } from "@/types/middleware" + +export const middleware: NextMiddleware = (request) => { + console.log("HEJ", request) + const currentwebUrl = request.nextUrl.searchParams.get("currentweb") + if (currentwebUrl == null) { + return badRequest() + } + + const lang = findLang(request.nextUrl.pathname)! + + //const headers = new Headers(request.headers) + //headers.set("x-returnurl", returnUrl) + + return NextResponse.rewrite(new URL(`/${lang}/logout`, request.nextUrl), { + /*request: { + headers, + },*/ + }) +} + +export const matcher: MiddlewareMatcher = (request) => { + return request.nextUrl.pathname.endsWith("/updatelogout") //?currentweb") +}