Files
payload/src/localization/middleware.js
2020-01-21 12:46:27 -05:00

27 lines
655 B
JavaScript

/**
* sets request locale
*
* @param localization
* @returns {Function}
*/
module.exports = function localizationMiddleware(localization) {
const middleware = (req, res, next) => {
if (req.query.locale === '*' || req.query.locale === 'all') {
req.locale = 'all';
return next();
}
let requestedLocale = req.body && req.body.locale;
if (req.query.locale) requestedLocale = req.query.locale;
if (localization.locales.find(search => search === requestedLocale)) {
req.locale = requestedLocale;
}
if (!req.locale) req.locale = localization.defaultLocale;
return next();
};
return middleware;
};