Skip to content

Commit

Permalink
Removes beforeTileRender and afterTileRender triggers
Browse files Browse the repository at this point in the history
- use version `~0.45.0` to keep them
  • Loading branch information
rochoa committed Jun 26, 2015
1 parent d80daaa commit 489dc87
Show file tree
Hide file tree
Showing 7 changed files with 6 additions and 67 deletions.
5 changes: 4 additions & 1 deletion NEWS.md
@@ -1,6 +1,9 @@
# Version 0.45.1
# Version 0.46.0
2015-mm-dd

Announcements:
- Removes `beforeTileRender` and `afterTileRender` triggers, use version `~0.45.0` to keep them

Enhancements:
- Checks for ETIMEDOUT error code so timeouts do not turn into empty image in http layers (#360)

Expand Down
12 changes: 1 addition & 11 deletions README.md
Expand Up @@ -88,9 +88,6 @@ var Windshaft = require('windshaft');
// GET base_url + '/style' (returns a map style)
// POST base_url + '/style' (allows specifying of a style in Carto markup
// in the 'style' form variable).
//
// beforeTileRender and afterTileRender could be defined if you want yo
// implement your own tile cache policy. See an example below

var config = {
base_url: '/database/:dbname/table/:table',
Expand All @@ -111,14 +108,7 @@ var config = {
metatile: 4,
bufferSize:64
},
redis: {host: '127.0.0.1', port: 6379},
// this two filters are optional
beforeTileRender: function(req, res, callback) {
callback(null);
},
afterTileRender: function(req, res, tile, headers, callback) {
callback(null, tile, headers);
}
redis: {host: '127.0.0.1', port: 6379}
};

// Initialize tile server on port 4000
Expand Down
2 changes: 0 additions & 2 deletions doc/metrics.md
Expand Up @@ -30,8 +30,6 @@ Again, each inner timer may have several inner timers, some of them are displaye
+ mapSave
+ req2params
- **getTileOrGrid**: time to retrieve a tile or grid
+ afterTileRender
+ beforeTileRender
+ getRenderer
+ makeRenderer-*{format}* \*
+ render-*{format}* \*
Expand Down
14 changes: 1 addition & 13 deletions lib/windshaft/backends/map.js
Expand Up @@ -25,9 +25,6 @@ module.exports = MapBackend;
// * interactivity - specify which columns to represent in the UTFGrid
// * cache_buster - specify to ensure a new renderer is used
// * geom_type - specify default style to use if no style present
//
// Triggers beforeTileRender and afterTileRender render filters
//
MapBackend.prototype.getTileOrGrid = function(req, res, callback){

var self = this;
Expand All @@ -38,11 +35,6 @@ MapBackend.prototype.getTileOrGrid = function(req, res, callback){

step(
function() {
self._app.beforeTileRender(req, res, this);
},
function(err){
req.profiler.done('beforeTileRender');
assert.ifError(err);
if (req.params.format === 'grid.json' && !req.params.interactivity) {
if ( ! req.params.token ) { // token embeds interactivity
throw new Error("Missing interactivity parameter");
Expand All @@ -63,11 +55,7 @@ MapBackend.prototype.getTileOrGrid = function(req, res, callback){
function(err, tile, headers, stats) {
req.profiler.done('render-'+req.params.format.replace('.','-'));
req.profiler.add(stats || {});
assert.ifError(err);
self._app.afterTileRender(req, res, tile, headers || {}, this);
},
function(err, tile, headers) {
req.profiler.done('afterTileRender');

if ( renderer ) {
renderer.release();
req.profiler.done('renderer_release');
Expand Down
16 changes: 0 additions & 16 deletions lib/windshaft/server.js
Expand Up @@ -70,13 +70,6 @@ var WELCOME_MSG = "This is the CartoDB Maps API, " +
// // or 'pool', for a pre-configured pooler
// // with interface of node-redis-mpool
// },
// // this two filters are optional
// beforeTileRender: function(req, res, callback) {
// callback(null);
// },
// afterTileRender: function(req, res, tile, headers, callback) {
// callback(null, tile, headers);
// },
// https: {
// key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'),
// cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem')
Expand Down Expand Up @@ -445,15 +438,6 @@ function addFilters(app, opts) {

// filters can be used for custom authentication, caching, logging etc
_.defaults(app, {
// called pre tile render right at the start of the call
beforeTileRender: function(req, res, callback) {
callback(null);
},
// called immediately after the tile render. Called with tile output
afterTileRender: function(req, res, tile, headers, callback) {
callback(null, tile, headers);
},

// called before a layergroup configuration is created
// it allows to modify the configuration
// @param req request (body is the map configuration)
Expand Down
15 changes: 0 additions & 15 deletions test/acceptance/server_gettile.js
Expand Up @@ -202,21 +202,6 @@ describe('server_gettile', function() {
it(test_strict_lbl, test_strictness);
}

it("beforeTileRender is called when the client request a tile", function(done) {
testClient.getTile(testClient.defaultTableMapConfig('test_table'), 6, 31, 24, function(err, res) {
assert.equal(res.headers['x-beforetilerender'], 'called');
done();
});
});

it("afterTileRender is called when the client request a tile", function(done) {
testClient.getTile(testClient.defaultTableMapConfig('test_table'), 6, 31, 24, function(err, res) {
assert.equal(res.headers['x-aftertilerender'], 'called');
assert.equal(res.headers['x-aftertilerender2'], 'called');
done();
});
});

it('high cpu regression with mapnik <2.3.x', function(done) {
var sql = [
"SELECT 'my polygon name here' AS name,",
Expand Down
9 changes: 0 additions & 9 deletions test/support/server_options.js
Expand Up @@ -35,15 +35,6 @@ module.exports = (function(opts) {
// send the finished req object on
callback(null,req);
},
beforeTileRender: function(req, res, callback) {
res.header('X-BeforeTileRender', 'called');
callback(null);
},
afterTileRender: function(req, res, tile, headers, callback) {
res.header('X-AfterTileRender','called');
headers['X-AfterTileRender2'] = 'called';
callback(null, tile, headers);
},
afterLayergroupCreate: function(req, cfg, res, callback) {
res.layercount = cfg.layers.length;
this.afterLayergroupCreateCalls = this.afterLayergroupCreateCalls ? this.afterLayergroupCreateCalls + 1 : 1;
Expand Down

0 comments on commit 489dc87

Please sign in to comment.