diff --git a/lib/cartodb/middleware/lzma.js b/lib/cartodb/middleware/lzma.js index d58f16cc..6655cdeb 100644 --- a/lib/cartodb/middleware/lzma.js +++ b/lib/cartodb/middleware/lzma.js @@ -1,8 +1,8 @@ 'use strict'; -var LZMA = require('lzma').LZMA; +const LZMA = require('lzma').LZMA; -var lzmaWorker = new LZMA(); +const lzmaWorker = new LZMA(); module.exports = function lzmaMiddleware(req, res, next) { if (!req.query.hasOwnProperty('lzma')) { diff --git a/lib/cartodb/middleware/req2params-middleware.js b/lib/cartodb/middleware/req2params-middleware.js index dc67c117..d6e0a5d1 100644 --- a/lib/cartodb/middleware/req2params-middleware.js +++ b/lib/cartodb/middleware/req2params-middleware.js @@ -2,9 +2,6 @@ var assert = require('assert'); var _ = require('underscore'); var step = require('step'); -var LZMA = require('lzma').LZMA; -var lzmaWorker = new LZMA(); - // Whitelist query parameters and attach format var REQUEST_QUERY_PARAMS_WHITELIST = [ @@ -20,7 +17,7 @@ var REQUEST_QUERY_PARAMS_WHITELIST = [ 'filters' // json ]; -// jshint maxcomplexity:10 +// jshint maxcomplexity:8 /** * Whitelist input and get database name & default geometry type from * subdomain/user metadata held in CartoDB Redis @@ -29,35 +26,6 @@ var REQUEST_QUERY_PARAMS_WHITELIST = [ */ module.exports = function req2paramsMiddleware (authApi, pgConnection) { return function req2params (req, res, next) { - if ( req.query.lzma ) { - - // Decode (from base64) - var lzma = new Buffer(req.query.lzma, 'base64') - .toString('binary') - .split('') - .map(function(c) { - return c.charCodeAt(0) - 128; - }); - - - // Decompress - lzmaWorker.decompress( - lzma, - function(result) { - req.profiler.done('lzma'); - try { - delete req.query.lzma; - _.extend(req.query, JSON.parse(result)); - req2params(req, res, next); - } catch (err) { - req.profiler.done('req2params'); - next(new Error('Error parsing lzma as JSON: ' + err)); - } - } - ); - return; - } - var allowedQueryParams = REQUEST_QUERY_PARAMS_WHITELIST; if (Array.isArray(req.context.allowedQueryParams)) { allowedQueryParams = allowedQueryParams.concat(req.context.allowedQueryParams); diff --git a/lib/cartodb/server.js b/lib/cartodb/server.js index a9ade8bb..cde0a468 100644 --- a/lib/cartodb/server.js +++ b/lib/cartodb/server.js @@ -4,8 +4,6 @@ var RedisPool = require('redis-mpool'); var cartodbRedis = require('cartodb-redis'); var _ = require('underscore'); -var lzmaMiddleware = require('./middleware/lzma'); - var controller = require('./controllers'); var SurrogateKeysCache = require('./cache/surrogate_keys_cache'); @@ -46,6 +44,7 @@ var MapConfigAdapter = require('./models/mapconfig/adapter'); var StatsBackend = require('./backends/stats'); +const lzmaMiddleware = require('./middleware/lzma'); const errorMiddleware = require('./middleware/error-middleware'); module.exports = function(serverOptions) { diff --git a/test/unit/cartodb/req2params.test.js b/test/unit/cartodb/req2params.test.js index 05e1f262..5edf36c4 100644 --- a/test/unit/cartodb/req2params.test.js +++ b/test/unit/cartodb/req2params.test.js @@ -1,6 +1,5 @@ var assert = require('assert'); var _ = require('underscore'); -require('../../support/test_helper'); var RedisPool = require('redis-mpool'); var cartodbRedis = require('cartodb-redis'); @@ -116,30 +115,17 @@ describe('req2params', function() { config: config } }; - test_helper.lzma_compress_to_base64(JSON.stringify(qo), 1, function(err, data) { - var req = { - headers: { - host:'localhost' - }, - query: { - non_included: 'toberemoved', - api_key: 'test', - style: 'override', - lzma: data - } - }; - var res = {}; - req2params(prepareRequest(req), res, function(err, req) { - if ( err ) { - return done(err); - } - var query = req.params; - assert.deepEqual(qo.config, query.config); - assert.equal('test', query.api_key); - assert.equal(undefined, query.non_included); - done(); - }); + var res = {}; + req2params(prepareRequest(req), res, function(err, req) { + if ( err ) { + return done(err); + } + var query = req.params; + assert.deepEqual(config, query.config); + assert.equal('test', query.api_key); + assert.equal(undefined, query.non_included); + done(); }); });