diff --git a/lib/cartodb/controllers/map.js b/lib/cartodb/controllers/map.js index b6348f3f..1859dd07 100644 --- a/lib/cartodb/controllers/map.js +++ b/lib/cartodb/controllers/map.js @@ -200,8 +200,6 @@ MapController.prototype.create = function(req, res, prepareConfigFn, next) { const { layergroup } = res.locals; - res.set('X-Layergroup-Id', layergroup.layergroupid); - res.status(200); if (req.query && req.query.callback) { @@ -291,7 +289,6 @@ MapController.prototype.instantiateTemplate = function(req, res, prepareParamsFn const { layergroup } = res.locals; - res.set('X-Layergroup-Id', layergroup.layergroupid); self.surrogateKeysCache.tag(res, new NamedMapsCacheEntry(cdbuser, mapConfigProvider.getTemplateName())); res.status(200); @@ -341,14 +338,12 @@ MapController.prototype.afterLayergroupCreateBuilder = function (options = {}) { assert.ifError(err); self.setLayerStats(req, res, this); }, - function augmentLayergroupIdWithTemplateHash (err) { + function setLayergroupIdHeader (err) { assert.ifError(err); - if (!useTemplateHash) { - return null; - } + const setLayergroupIdHeader = self.setLayergroupIdHeaderBuilder(useTemplateHash); - self.augmentLayergroupIdWithTemplateHash(req, res, this); + setLayergroupIdHeader(req, res, this); }, function (err) { assert.ifError(err); @@ -497,13 +492,20 @@ MapController.prototype.setLayerStats = function (req, res, callback) { }); }; -MapController.prototype.augmentLayergroupIdWithTemplateHash = function (req, res, callback) { - const { layergroup, user, template } = res.locals; +MapController.prototype.setLayergroupIdHeaderBuilder = function (useTemplateHash) { + const self = this; + return function setLayergroupIdHeader(req, res, callback) { + const { layergroup, user, template } = res.locals; - var templateHash = this.templateMaps.fingerPrint(template).substring(0, 8); - layergroup.layergroupid = `${user}@${templateHash}@${layergroup.layergroupid}`; + if (useTemplateHash) { + var templateHash = self.templateMaps.fingerPrint(template).substring(0, 8); + layergroup.layergroupid = `${user}@${templateHash}@${layergroup.layergroupid}`; + } - callback(); + res.set('X-Layergroup-Id', layergroup.layergroupid); + + callback(); + }; }; MapController.prototype.setDataviewsAndWidgetsUrlsToLayergroupMetadata = function (req, res, callback) {