From 9f252dfac4c58374170bbe74e8c62c97f6ee2b9e Mon Sep 17 00:00:00 2001 From: Raul Ochoa Date: Thu, 9 Jul 2015 19:49:11 +0200 Subject: [PATCH] Improve named map config format for cache key --- lib/cartodb/models/mapconfig/named_map_provider.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/cartodb/models/mapconfig/named_map_provider.js b/lib/cartodb/models/mapconfig/named_map_provider.js index d8830dd4..f226e172 100644 --- a/lib/cartodb/models/mapconfig/named_map_provider.js +++ b/lib/cartodb/models/mapconfig/named_map_provider.js @@ -1,5 +1,6 @@ var _ = require('underscore'); var assert = require('assert'); +var crypto = require('crypto'); var dot = require('dot'); var step = require('step'); var MapConfig = require('windshaft').model.MapConfig; @@ -155,13 +156,20 @@ NamedMapMapConfigProvider.prototype.createKey = function(base) { owner: this.owner, templateName: this.templateName, authToken: this.authToken || '', - configHash: this.config && this.config.toString() || '', + configHash: configHash(this.config), layer: '', scale_factor: 1 }); return (base) ? baseKeyTpl(tplValues) : rendererKeyTpl(tplValues); }; +function configHash(config) { + if (!config) { + return ''; + } + return crypto.createHash('md5').update(JSON.stringify(config)).digest('hex').substring(0,8); +} + NamedMapMapConfigProvider.prototype.setDBParams = function(cdbuser, params, callback) { var self = this; step(