* Middleware overhaul! - Remove unnecessary 'async' keywords from middleware functions - Ensure all middleware functions we create have names - Wrap the method contents of all async middleware functions in a try-catch+next(error) pattern * Use asyncMiddleware wrapper instead of try-catch+next(error) pattern * Remove unnecessary try-catch+next(error) pattern from context middleware
13 lines
379 B
JavaScript
13 lines
379 B
JavaScript
const languageCodes = Object.keys(require('../lib/languages'))
|
|
|
|
// determine language code from first part of URL, or default to English
|
|
module.exports = function detectLanguage (req, res, next) {
|
|
// /en/articles/foo
|
|
// ^^
|
|
const firstPartOfPath = req.path.split('/')[1]
|
|
|
|
req.language = languageCodes.includes(firstPartOfPath) ? firstPartOfPath : 'en'
|
|
|
|
return next()
|
|
}
|