1
0
mirror of synced 2025-12-21 10:57:10 -05:00
Files
docs/middleware/redirects/language-code-redirects.js
Kevin Heis 8a56437c93 Pretty format (#20352)
* Update prettier flow to include JS

* Run prettier

* ...run prettier
2021-07-14 14:35:01 -07:00

22 lines
623 B
JavaScript

import languages from '../../lib/languages.js'
// This middleware handles redirects for mistyped language codes
//
// Examples:
// /jp* -> /ja*
// /zh-TW* -> /cn*
export default function languageCodeRedirects(req, res, next) {
for (const code in languages) {
const language = languages[code]
const redirectPatterns = language.redirectPatterns || []
for (const i in redirectPatterns) {
const redirectPattern = redirectPatterns[i]
if (redirectPattern.test(req.path)) {
return res.redirect(301, req.path.replace(redirectPattern, `/${language.code}`))
}
}
}
return next()
}