From 3c29cb0f650261d8bf1d9863dd5b257b296d41f8 Mon Sep 17 00:00:00 2001 From: Petr Sloup Date: Wed, 13 Jul 2016 12:56:59 +0200 Subject: [PATCH] ETag/caching fixes and improvements --- src/serve_data.js | 10 ++++------ src/serve_rendered.js | 8 +------- 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/src/serve_data.js b/src/serve_data.js index 5cc75e7..dbab4a6 100644 --- a/src/serve_data.js +++ b/src/serve_data.js @@ -1,7 +1,6 @@ 'use strict'; -var crypto = require('crypto'), - fs = require('fs'), +var fs = require('fs'), path = require('path'); var clone = require('clone'), @@ -59,12 +58,11 @@ module.exports = function(options, repo, params, id) { return res.status(500).send(err.message); } } else { - var md5 = crypto.createHash('md5').update(data).digest('base64'); - headers['content-md5'] = md5; if (tileJSON['format'] == 'pbf') { - headers['content-type'] = 'application/x-protobuf'; - headers['content-encoding'] = 'gzip'; + headers['Content-Type'] = 'application/x-protobuf'; + headers['Content-Encoding'] = 'gzip'; } + delete headers['ETag']; // do not trust the tile ETag -- regenerate res.set(headers); if (data == null) { diff --git a/src/serve_rendered.js b/src/serve_rendered.js index 82fcdcc..0e3e0da 100644 --- a/src/serve_rendered.js +++ b/src/serve_rendered.js @@ -2,7 +2,6 @@ var async = require('async'), advancedPool = require('advanced-pool'), - crypto = require('crypto'), fs = require('fs'), path = require('path'), util = require('util'), @@ -78,9 +77,6 @@ module.exports = function(options, repo, params, id) { if (headers['Last-Modified']) { response.modified = new Date(headers['Last-Modified']); } - if (headers['ETag']) { - response.etag = headers['ETag']; - } if (format == 'pbf') { response.data = zlib.unzipSync(data); @@ -292,10 +288,8 @@ module.exports = function(options, repo, params, id) { return res.status(404).send('Not found'); } - var md5 = crypto.createHash('md5').update(buffer).digest('base64'); res.set({ - 'content-md5': md5, - 'content-type': 'image/' + format + 'Content-Type': 'image/' + format }); return res.status(200).send(buffer); });