Validate user-provided language parameter before passing to i18n

This commit is contained in:
Nick O'Leary
2021-01-25 17:06:27 +00:00
parent 79473c243d
commit a0f736bb88
3 changed files with 46 additions and 31 deletions

View File

@@ -39,9 +39,12 @@ module.exports = {
},
get: function(req,res) {
var namespace = req.params[0];
var lngs = req.query.lng;
namespace = namespace.replace(/\.json$/,"");
var lang = req.query.lng || i18n.defaultLang; //apiUtil.determineLangFromHeaders(req.acceptsLanguages() || []);
if (/[^a-z\-]/i.test(lang)) {
res.json({});
return;
}
var prevLang = i18n.i.language;
// Trigger a load from disk of the language if it is not the default
i18n.i.changeLanguage(lang, function(){