From b0c924ca03c8d81673668c762df36e261de15996 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garc=C3=ADa=20Aubert?= Date: Thu, 1 Mar 2018 15:42:03 +0100 Subject: [PATCH] Follow middleware pattern, should return a function as the actual middleware --- lib/cartodb/controllers/analyses.js | 2 +- lib/cartodb/controllers/layergroup.js | 22 ++++++++++----------- lib/cartodb/controllers/map.js | 2 +- lib/cartodb/controllers/named_maps.js | 4 ++-- lib/cartodb/controllers/named_maps_admin.js | 10 +++++----- lib/cartodb/middleware/user.js | 11 +++++++---- 6 files changed, 27 insertions(+), 24 deletions(-) diff --git a/lib/cartodb/controllers/analyses.js b/lib/cartodb/controllers/analyses.js index fb75c633..db3550c8 100644 --- a/lib/cartodb/controllers/analyses.js +++ b/lib/cartodb/controllers/analyses.js @@ -12,7 +12,7 @@ AnalysesController.prototype.register = function (app) { app.get( `${app.base_url_mapconfig}/analyses/catalog`, cors(), - userMiddleware, + userMiddleware(), this.prepareContext, this.createPGClient(), this.getDataFromQuery({ queryTemplate: catalogQueryTpl, key: 'catalog' }), diff --git a/lib/cartodb/controllers/layergroup.js b/lib/cartodb/controllers/layergroup.js index d9251dd0..3365e270 100644 --- a/lib/cartodb/controllers/layergroup.js +++ b/lib/cartodb/controllers/layergroup.js @@ -49,7 +49,7 @@ LayergroupController.prototype.register = function(app) { app.get( app.base_url_mapconfig + '/:token/:z/:x/:y@:scale_factor?x.:format', cors(), - userMiddleware, + userMiddleware(), this.prepareContext, this.tile.bind(this), vectorError() @@ -58,7 +58,7 @@ LayergroupController.prototype.register = function(app) { app.get( app.base_url_mapconfig + '/:token/:z/:x/:y.:format', cors(), - userMiddleware, + userMiddleware(), this.prepareContext, this.tile.bind(this), vectorError() @@ -67,7 +67,7 @@ LayergroupController.prototype.register = function(app) { app.get( app.base_url_mapconfig + '/:token/:layer/:z/:x/:y.(:format)', cors(), - userMiddleware, + userMiddleware(), validateLayerRouteMiddleware, this.prepareContext, this.layer.bind(this), @@ -77,7 +77,7 @@ LayergroupController.prototype.register = function(app) { app.get( app.base_url_mapconfig + '/:token/:layer/attributes/:fid', cors(), - userMiddleware, + userMiddleware(), this.prepareContext, this.attributes.bind(this) ); @@ -85,7 +85,7 @@ LayergroupController.prototype.register = function(app) { app.get( app.base_url_mapconfig + '/static/center/:token/:z/:lat/:lng/:width/:height.:format', cors(), - userMiddleware, + userMiddleware(), allowQueryParams(['layer']), this.prepareContext, this.center.bind(this) @@ -94,7 +94,7 @@ LayergroupController.prototype.register = function(app) { app.get( app.base_url_mapconfig + '/static/bbox/:token/:west,:south,:east,:north/:width/:height.:format', cors(), - userMiddleware, + userMiddleware(), allowQueryParams(['layer']), this.prepareContext, this.bbox.bind(this) @@ -121,7 +121,7 @@ LayergroupController.prototype.register = function(app) { app.get( app.base_url_mapconfig + '/:token/dataview/:dataviewName', cors(), - userMiddleware, + userMiddleware(), allowQueryParams(allowedDataviewQueryParams), this.prepareContext, this.dataview.bind(this) @@ -130,7 +130,7 @@ LayergroupController.prototype.register = function(app) { app.get( app.base_url_mapconfig + '/:token/:layer/widget/:dataviewName', cors(), - userMiddleware, + userMiddleware(), allowQueryParams(allowedDataviewQueryParams), this.prepareContext, this.dataview.bind(this) @@ -139,7 +139,7 @@ LayergroupController.prototype.register = function(app) { app.get( app.base_url_mapconfig + '/:token/dataview/:dataviewName/search', cors(), - userMiddleware, + userMiddleware(), allowQueryParams(allowedDataviewQueryParams), this.prepareContext, this.dataviewSearch.bind(this) @@ -148,7 +148,7 @@ LayergroupController.prototype.register = function(app) { app.get( app.base_url_mapconfig + '/:token/:layer/widget/:dataviewName/search', cors(), - userMiddleware, + userMiddleware(), allowQueryParams(allowedDataviewQueryParams), this.prepareContext, this.dataviewSearch.bind(this) @@ -157,7 +157,7 @@ LayergroupController.prototype.register = function(app) { app.get( app.base_url_mapconfig + '/:token/analysis/node/:nodeId', cors(), - userMiddleware, + userMiddleware(), this.prepareContext, this.analysisNodeStatus.bind(this) ); diff --git a/lib/cartodb/controllers/map.js b/lib/cartodb/controllers/map.js index 34660ce0..a9077339 100644 --- a/lib/cartodb/controllers/map.js +++ b/lib/cartodb/controllers/map.js @@ -69,7 +69,7 @@ MapController.prototype.composeCreateMapMiddleware = function (useTemplate = fal return [ cors(), - userMiddleware, + userMiddleware(), allowQueryParams(['aggregation']), this.prepareContext, this.initProfiler(isTemplateInstantiation), diff --git a/lib/cartodb/controllers/named_maps.js b/lib/cartodb/controllers/named_maps.js index 92ba4ea6..27e5b7af 100644 --- a/lib/cartodb/controllers/named_maps.js +++ b/lib/cartodb/controllers/named_maps.js @@ -44,7 +44,7 @@ NamedMapsController.prototype.register = function(app) { app.get( app.base_url_templated + '/:template_id/:layer/:z/:x/:y.(:format)', cors(), - userMiddleware, + userMiddleware(), this.prepareContext, this.getNamedMapProvider('NAMED_MAP_TILE'), this.getAffectedTables(), @@ -61,7 +61,7 @@ NamedMapsController.prototype.register = function(app) { app.get( app.base_url_mapconfig + '/static/named/:template_id/:width/:height.:format', cors(), - userMiddleware, + userMiddleware(), allowQueryParams(['layer', 'zoom', 'lon', 'lat', 'bbox']), this.prepareContext, this.getNamedMapProvider('STATIC_VIZ_MAP'), diff --git a/lib/cartodb/controllers/named_maps_admin.js b/lib/cartodb/controllers/named_maps_admin.js index 296ecf52..e8fd8f55 100644 --- a/lib/cartodb/controllers/named_maps_admin.js +++ b/lib/cartodb/controllers/named_maps_admin.js @@ -23,7 +23,7 @@ NamedMapsAdminController.prototype.register = function (app) { app.post( `${base_url_templated}/`, cors(), - userMiddleware, + userMiddleware(), localsMiddleware, credentialsMiddleware(), this.checkContentType('POST', 'POST TEMPLATE'), @@ -34,7 +34,7 @@ NamedMapsAdminController.prototype.register = function (app) { app.put( `${base_url_templated}/:template_id`, cors(), - userMiddleware, + userMiddleware(), localsMiddleware, credentialsMiddleware(), this.checkContentType('PUT', 'PUT TEMPLATE'), @@ -45,7 +45,7 @@ NamedMapsAdminController.prototype.register = function (app) { app.get( `${base_url_templated}/:template_id`, cors(), - userMiddleware, + userMiddleware(), localsMiddleware, credentialsMiddleware(), this.authorizedByAPIKey('get', 'GET TEMPLATE'), @@ -55,7 +55,7 @@ NamedMapsAdminController.prototype.register = function (app) { app.delete( `${base_url_templated}/:template_id`, cors(), - userMiddleware, + userMiddleware(), localsMiddleware, credentialsMiddleware(), this.authorizedByAPIKey('delete', 'DELETE TEMPLATE'), @@ -65,7 +65,7 @@ NamedMapsAdminController.prototype.register = function (app) { app.get( `${base_url_templated}/`, cors(), - userMiddleware, + userMiddleware(), localsMiddleware, credentialsMiddleware(), this.authorizedByAPIKey('list', 'GET TEMPLATE LIST'), diff --git a/lib/cartodb/middleware/user.js b/lib/cartodb/middleware/user.js index adf06203..2e869b38 100644 --- a/lib/cartodb/middleware/user.js +++ b/lib/cartodb/middleware/user.js @@ -1,8 +1,11 @@ var CdbRequest = require('../models/cdb_request'); -var cdbRequest = new CdbRequest(); -module.exports = function userMiddleware(req, res, next) { - res.locals.user = cdbRequest.userByReq(req); +module.exports = function user () { + var cdbRequest = new CdbRequest(); - next(); + return function userMiddleware(req, res, next) { + res.locals.user = cdbRequest.userByReq(req); + + next(); + }; };