1
0
mirror of synced 2025-12-23 03:44:00 -05:00
Files
docs/middleware/fast-root-redirect.js

22 lines
724 B
JavaScript

import { cacheControlFactory } from './cache-control.js'
import { getLanguageCodeFromHeader } from './detect-language.js'
import { PREFERRED_LOCALE_COOKIE_NAME } from '../lib/constants.js'
const cacheControl = cacheControlFactory(0)
const noCacheSurrogateControl = cacheControlFactory(0, {
key: 'surrogate-control',
maxAgeZero: true,
})
export default function fastRootRedirect(req, res, next) {
if (!req.headers.cookie || !req.headers.cookie.includes(PREFERRED_LOCALE_COOKIE_NAME)) {
// No preferred language cookie header!
const language = getLanguageCodeFromHeader(req) || 'en'
cacheControl(res)
// See #2287
noCacheSurrogateControl(res)
return res.redirect(`/${language}`)
}
next()
}