diff --git a/lib/cartodb/cache/named_map_provider_cache.js b/lib/cartodb/cache/named_map_provider_cache.js index e4c3dccc..44afc98e 100644 --- a/lib/cartodb/cache/named_map_provider_cache.js +++ b/lib/cartodb/cache/named_map_provider_cache.js @@ -16,7 +16,7 @@ function NamedMapProviderCache(templateMaps, pgConnection, userLimitsApi, queryT module.exports = NamedMapProviderCache; -NamedMapProviderCache.prototype.get = function(user, templateId, config, authToken, params) { +NamedMapProviderCache.prototype.get = function(user, templateId, config, authToken, params, callback) { var namedMapKey = createNamedMapKey(user, templateId); var namedMapProviders = this.providerCache.get(namedMapKey) || {}; @@ -36,7 +36,7 @@ NamedMapProviderCache.prototype.get = function(user, templateId, config, authTok this.providerCache.set(namedMapKey, namedMapProviders); } - return namedMapProviders[providerKey]; + return callback(null, namedMapProviders[providerKey]); }; NamedMapProviderCache.prototype.invalidate = function(user, templateId) { diff --git a/lib/cartodb/controllers/named_maps.js b/lib/cartodb/controllers/named_maps.js index 03885713..7cdd6acd 100644 --- a/lib/cartodb/controllers/named_maps.js +++ b/lib/cartodb/controllers/named_maps.js @@ -83,14 +83,20 @@ NamedMapsController.prototype.tile = function(req, res) { function reqParams() { self.req2params(req, this); }, - function getTile() { - namedMapProvider = self.namedMapProviderCache.get( + function getNamedMapProvider(err) { + assert.ifError(err); + self.namedMapProviderCache.get( cdbUser, req.params.template_id, req.query.config, req.query.auth_token, - req.params + req.params, + this ); + }, + function getTile(err, _namedMapProvider) { + assert.ifError(err); + namedMapProvider = _namedMapProvider; self.tileBackend.getTile(namedMapProvider, req.params, this); }, function handleImage(err, tile, headers, stats) { @@ -120,15 +126,20 @@ NamedMapsController.prototype.staticMap = function(req, res) { function reqParams() { self.req2params(req, this); }, - function prepareImageOptions(err) { + function getNamedMapProvider(err) { assert.ifError(err); - namedMapProvider = self.namedMapProviderCache.get( + self.namedMapProviderCache.get( cdbUser, req.params.template_id, req.query.config, req.query.auth_token, - req.params + req.params, + this ); + }, + function prepareImageOptions(err, _namedMapProvider) { + assert.ifError(err); + namedMapProvider = _namedMapProvider; self.getStaticImageOptions(cdbUser, namedMapProvider, this); }, function getImage(err, imageOpts) {