From bd93e7dc7e314bfcde2a85e3eebdb42499dfee47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garc=C3=ADa=20Aubert?= Date: Thu, 1 Mar 2018 18:09:49 +0100 Subject: [PATCH] Follow middleware pattern --- lib/cartodb/middleware/context/index.js | 2 +- .../middleware/context/layergroup-token.js | 56 ++++++++++--------- 2 files changed, 30 insertions(+), 28 deletions(-) diff --git a/lib/cartodb/middleware/context/index.js b/lib/cartodb/middleware/context/index.js index 750986c5..70465895 100644 --- a/lib/cartodb/middleware/context/index.js +++ b/lib/cartodb/middleware/context/index.js @@ -9,7 +9,7 @@ module.exports = function prepareContextMiddleware(authApi, pgConnection) { return [ locals(), cleanUpQueryParams(), - layergroupToken, + layergroupToken(), credentials(), authorize(authApi), dbConnSetup(pgConnection) diff --git a/lib/cartodb/middleware/context/layergroup-token.js b/lib/cartodb/middleware/context/layergroup-token.js index 026d0806..b7ad82f9 100644 --- a/lib/cartodb/middleware/context/layergroup-token.js +++ b/lib/cartodb/middleware/context/layergroup-token.js @@ -1,32 +1,34 @@ var LayergroupToken = require('../../models/layergroup-token'); -module.exports = function layergroupTokenMiddleware(req, res, next) { - if (!res.locals.token) { - return next(); - } - - var user = res.locals.user; - - var layergroupToken = LayergroupToken.parse(res.locals.token); - res.locals.token = layergroupToken.token; - res.locals.cache_buster = layergroupToken.cacheBuster; - - if (layergroupToken.signer) { - res.locals.signer = layergroupToken.signer; - if (!res.locals.signer) { - res.locals.signer = user; - } else if (res.locals.signer !== user) { - var err = new Error(`Cannot use map signature of user "${res.locals.signer}" on db of user "${user}"`); - err.type = 'auth'; - err.http_status = 403; - if (req.query && req.query.callback) { - err.http_status = 200; - } - - req.profiler.done('req2params'); - return next(err); +module.exports = function layergroupToken () { + return function layergroupTokenMiddleware(req, res, next) { + if (!res.locals.token) { + return next(); } - } - return next(); + var user = res.locals.user; + + var layergroupToken = LayergroupToken.parse(res.locals.token); + res.locals.token = layergroupToken.token; + res.locals.cache_buster = layergroupToken.cacheBuster; + + if (layergroupToken.signer) { + res.locals.signer = layergroupToken.signer; + if (!res.locals.signer) { + res.locals.signer = user; + } else if (res.locals.signer !== user) { + var err = new Error(`Cannot use map signature of user "${res.locals.signer}" on db of user "${user}"`); + err.type = 'auth'; + err.http_status = 403; + if (req.query && req.query.callback) { + err.http_status = 200; + } + + req.profiler.done('req2params'); + return next(err); + } + } + + return next(); + }; };