1
0
mirror of synced 2026-01-05 21:04:17 -05:00
Files
docs/middleware/fast-root-redirect.js
2022-11-30 17:51:51 +00:00

22 lines
718 B
JavaScript

import { cacheControlFactory } from './cache-control.js'
import { getLanguageCodeFromHeader } from './detect-language.js'
import { USER_LANGUAGE_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(USER_LANGUAGE_COOKIE_NAME)) {
// No preferred language cookie header!
const language = getLanguageCodeFromHeader(req) || 'en'
cacheControl(res)
// See #2287
noCacheSurrogateControl(res)
return res.redirect(`/${language}`)
}
next()
}