diff --git a/packages/node_modules/@node-red/editor-api/lib/admin/nodes.js b/packages/node_modules/@node-red/editor-api/lib/admin/nodes.js index 187bd823f..e4c3534ad 100644 --- a/packages/node_modules/@node-red/editor-api/lib/admin/nodes.js +++ b/packages/node_modules/@node-red/editor-api/lib/admin/nodes.js @@ -33,6 +33,9 @@ module.exports = { }) } else { opts.lang = apiUtils.determineLangFromHeaders(req.acceptsLanguages()); + if (/[^0-9a-z=\-\*]/i.test(opts.lang)) { + opts.lang = "en-US"; + } runtimeAPI.nodes.getNodeConfigs(opts).then(function(configs) { res.send(configs); }) @@ -91,6 +94,9 @@ module.exports = { }) } else { opts.lang = apiUtils.determineLangFromHeaders(req.acceptsLanguages()); + if (/[^0-9a-z=\-\*]/i.test(opts.lang)) { + opts.lang = "en-US"; + } runtimeAPI.nodes.getNodeConfig(opts).then(function(result) { return res.send(result); }).catch(function(err) { @@ -160,6 +166,9 @@ module.exports = { lang: req.query.lng, req: apiUtils.getRequestLogObject(req) } + if (/[^0-9a-z=\-\*]/i.test(opts.lang)) { + opts.lang = "en-US"; + } runtimeAPI.nodes.getModuleCatalog(opts).then(function(result) { res.json(result); }).catch(function(err) { @@ -174,6 +183,9 @@ module.exports = { lang: req.query.lng, req: apiUtils.getRequestLogObject(req) } + if (/[^0-9a-z=\-\*]/i.test(opts.lang)) { + opts.lang = "en-US"; + } runtimeAPI.nodes.getModuleCatalogs(opts).then(function(result) { res.json(result); }).catch(function(err) { diff --git a/packages/node_modules/@node-red/editor-api/lib/editor/locales.js b/packages/node_modules/@node-red/editor-api/lib/editor/locales.js index f9453f55b..3d55f98bc 100644 --- a/packages/node_modules/@node-red/editor-api/lib/editor/locales.js +++ b/packages/node_modules/@node-red/editor-api/lib/editor/locales.js @@ -41,7 +41,7 @@ module.exports = { var namespace = req.params[0]; namespace = namespace.replace(/\.json$/,""); var lang = req.query.lng || i18n.defaultLang; //apiUtil.determineLangFromHeaders(req.acceptsLanguages() || []); - if (/[^a-z\-\*]/i.test(lang)) { + if (/[^0-9a-z=\-\*]/i.test(lang)) { res.json({}); return; } diff --git a/packages/node_modules/@node-red/runtime/lib/api/nodes.js b/packages/node_modules/@node-red/runtime/lib/api/nodes.js index a0ce200b3..3558c700d 100644 --- a/packages/node_modules/@node-red/runtime/lib/api/nodes.js +++ b/packages/node_modules/@node-red/runtime/lib/api/nodes.js @@ -99,7 +99,7 @@ var api = module.exports = { return new Promise(function(resolve,reject) { var id = opts.id; var lang = opts.lang; - if (/[^a-z\-\*]/i.test(opts.lang)) { + if (/[^0-9a-z=\-\*]/i.test(opts.lang)) { reject(new Error("Invalid language: "+opts.lang)); return } @@ -128,7 +128,7 @@ var api = module.exports = { getNodeConfigs: function(opts) { return new Promise(function(resolve,reject) { runtime.log.audit({event: "nodes.configs.get"}, opts.req); - if (/[^a-z\-\*]/i.test(opts.lang)) { + if (/[^0-9a-z=\-\*]/i.test(opts.lang)) { reject(new Error("Invalid language: "+opts.lang)); return } @@ -406,7 +406,7 @@ var api = module.exports = { var namespace = opts.module; var lang = opts.lang; var prevLang = runtime.i18n.i.language; - if (/[^a-z\-\*]/i.test(lang)) { + if (/[^0-9a-z=\-\*]/i.test(lang)) { reject(new Error("Invalid language: "+lang)); return } @@ -439,7 +439,7 @@ var api = module.exports = { return new Promise(function(resolve,reject) { var namespace = opts.module; var lang = opts.lang; - if (/[^a-z\-\*]/i.test(lang)) { + if (/[^0-9a-z=\-\*]/i.test(lang)) { reject(new Error("Invalid language: "+lang)); return }