From 7cc18ca0028dc8d26f6012729059faa0bbf0e37b Mon Sep 17 00:00:00 2001 From: jimenez Date: Fri, 30 May 2014 16:56:04 -0700 Subject: [PATCH] Mixing in static context into req's context, giving precedence to the req's context. --- lib/app/middleware/mojito-contextualizer.js | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/app/middleware/mojito-contextualizer.js b/lib/app/middleware/mojito-contextualizer.js index fa01f858d..c3c76dd33 100644 --- a/lib/app/middleware/mojito-contextualizer.js +++ b/lib/app/middleware/mojito-contextualizer.js @@ -5,7 +5,7 @@ */ -/*jslint node:true, nomen:true*/ +/*jslint node:true, nomen:true, forin: true*/ /** @module mojito-contextualizer @@ -133,13 +133,14 @@ function RequestContextualizer() { return function middlewareMojitoContextualizer(req, res, next) { - if (!defaultLang && req.app && req.app.mojito) { defaultLang = (req.app.mojito.context && req.app.mojito.context.lang) || DEFAULT_LANG; } - var query = url.parse(req.url, true).query || {}; + var c, + query = url.parse(req.url, true).query || {}, + staticContext = req.app.mojito.store.getStaticContext(); if (!req.context) { req.context = {}; @@ -160,10 +161,13 @@ function RequestContextualizer() { req.context.flavor = query.flavor || ''; req.context.tz = query.tz || ''; - // debug('detected lang: ' + req.context.lang, 'debug', - // 'request-contextualizer'); - // debug('detected device: ' + req.context.device, 'debug', - // 'request-contextualizer'); + // Mix in static context, with req's context taking precedence. + for (c in staticContext) { + if (!req.context[c]) { + req.context[c] = staticContext[c]; + } + } + next(); }; }