MED-154: redirect homepage to website in production. support lang param
MED-154: redirect homepage to website in production. support lang param
This commit is contained in:
@@ -27,6 +27,8 @@ const getUser = (request: NextRequest, response: NextResponse) => {
|
||||
export async function middleware(request: NextRequest) {
|
||||
const secureHeaders = await createResponseWithSecureHeaders();
|
||||
const response = NextResponse.next(secureHeaders);
|
||||
const url = new URL(request.url);
|
||||
const lang = url.searchParams.get('lang');
|
||||
|
||||
// set a unique request ID for each request
|
||||
// this helps us log and trace requests
|
||||
@@ -35,6 +37,10 @@ export async function middleware(request: NextRequest) {
|
||||
// apply CSRF protection for mutating requests
|
||||
const csrfResponse = await withCsrfMiddleware(request, response);
|
||||
|
||||
if (lang) {
|
||||
csrfResponse.cookies.set('lang', lang);
|
||||
}
|
||||
|
||||
// handle patterns for specific routes
|
||||
const handlePattern = matchUrlPattern(request.url);
|
||||
|
||||
@@ -176,6 +182,14 @@ function getPatterns() {
|
||||
return NextResponse.redirect(
|
||||
new URL(pathsConfig.app.home, req.nextUrl.origin).href,
|
||||
);
|
||||
} else if (
|
||||
!['test', 'localhost'].some((pathString) =>
|
||||
process.env.NEXT_PUBLIC_SITE_URL?.includes(pathString),
|
||||
)
|
||||
) {
|
||||
return NextResponse.redirect(
|
||||
new URL('https://medreport.ee', req.nextUrl.origin).href,
|
||||
);
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
@@ -53,6 +53,7 @@ export function LanguageSelector({
|
||||
}
|
||||
|
||||
if (!userId) {
|
||||
localStorage.setItem('lang', locale);
|
||||
return i18n.changeLanguage(locale);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user