Revert "Drop /map_metadata API entry point"
This reverts commit b37b07a06a1dd3cf05d60f4aa613ab5c48b90700. This was too light of a decision...
This commit is contained in:
parent
9c897a91a9
commit
7b7408dab7
1
NEWS.md
1
NEWS.md
@ -2,7 +2,6 @@
|
|||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
* Update cartodb-redis dependency to "~0.2.0"
|
* Update cartodb-redis dependency to "~0.2.0"
|
||||||
* Drop /map_metadata API entry point (#101)
|
|
||||||
|
|
||||||
1.5.2 -- 2013-12-05
|
1.5.2 -- 2013-12-05
|
||||||
-------------------
|
-------------------
|
||||||
|
@ -3,15 +3,16 @@ Windshaft-CartoDB
|
|||||||
|
|
||||||
[![Build Status](https://travis-ci.org/CartoDB/Windshaft-cartodb.png)](http://travis-ci.org/CartoDB/Windshaft-cartodb)
|
[![Build Status](https://travis-ci.org/CartoDB/Windshaft-cartodb.png)](http://travis-ci.org/CartoDB/Windshaft-cartodb)
|
||||||
|
|
||||||
This is the CartoDB 2.0+ map tiler. It extends Windshaft with some extra
|
This is the CartoDB map tiler. It extends Windshaft with some extra
|
||||||
functionality and custom filters for authentication
|
functionality and custom filters for authentication
|
||||||
|
|
||||||
* reads dbname from hostname and cartodb redis for pretty tile urls
|
* reads dbname from subdomain and cartodb redis for pretty tile urls
|
||||||
* configures windshaft to publish ``cartodb_id`` as the interactivity layer
|
* configures windshaft to publish ``cartodb_id`` as the interactivity layer
|
||||||
* gets the default geometry type from the cartodb redis store
|
* gets the default geometry type from the cartodb redis store
|
||||||
|
* allows tiles to be styled individually
|
||||||
* provides a link to varnish high speed cache
|
* provides a link to varnish high speed cache
|
||||||
* provides a infowindow endpoint for windshaft
|
* provides a infowindow endpoint for windshaft
|
||||||
* provides support for template signed maps
|
* provides a ``map_metadata`` endpoint for windshaft
|
||||||
|
|
||||||
Requirements
|
Requirements
|
||||||
------------
|
------------
|
||||||
@ -25,7 +26,7 @@ Requirements
|
|||||||
|
|
||||||
[for cache control]
|
[for cache control]
|
||||||
- CartoDB-SQL-API 1.0.0+
|
- CartoDB-SQL-API 1.0.0+
|
||||||
- CartoDB 2.0.0+
|
- CartoDB 0.9.5+ (for ``CDB_QueryTables``)
|
||||||
- Varnish (https://www.varnish-cache.org)
|
- Varnish (https://www.varnish-cache.org)
|
||||||
|
|
||||||
Configure
|
Configure
|
||||||
|
@ -55,6 +55,26 @@ var CartodbWindshaft = function(serverOptions) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper to allow access to metadata to be used in embedded maps.
|
||||||
|
*/
|
||||||
|
ws.get(serverOptions.base_url + '/map_metadata', function(req, res){
|
||||||
|
ws.doCORS(res);
|
||||||
|
Step(
|
||||||
|
function(){
|
||||||
|
serverOptions.getMapMetadata(req, this);
|
||||||
|
},
|
||||||
|
function(err, data){
|
||||||
|
if (err){
|
||||||
|
ws.sendError(res, {error: err.message}, 500, 'GET MAP_METADATA');
|
||||||
|
//res.send(err.message, 500);
|
||||||
|
} else {
|
||||||
|
res.send({map_metadata: data}, 200);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper API to allow per table tile cache (and sql cache) to be invalidated remotely.
|
* Helper API to allow per table tile cache (and sql cache) to be invalidated remotely.
|
||||||
* TODO: Move?
|
* TODO: Move?
|
||||||
|
@ -550,6 +550,25 @@ module.exports = function(){
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Little helper method to get map metadata and return to client
|
||||||
|
* @param req
|
||||||
|
* @param callback
|
||||||
|
*/
|
||||||
|
me.getMapMetadata = function(req, callback){
|
||||||
|
var that = this;
|
||||||
|
|
||||||
|
Step(
|
||||||
|
function(){
|
||||||
|
that.req2params(req, this);
|
||||||
|
},
|
||||||
|
function(err, data){
|
||||||
|
if (err) callback(err, null);
|
||||||
|
else cartoData.getMapMetadata(data, callback);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper to clear out tile cache on request
|
* Helper to clear out tile cache on request
|
||||||
* @param req
|
* @param req
|
||||||
|
@ -1196,6 +1196,59 @@ suite('server', function() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// GET METADATA
|
||||||
|
//
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
test("does not provide metadata of private table to unauthenticated requests", function(done){
|
||||||
|
assert.response(server, {
|
||||||
|
headers: {host: 'localhost'},
|
||||||
|
url: '/tiles/test_table_private_1/map_metadata',
|
||||||
|
method: 'GET'
|
||||||
|
},{}, function(res) {
|
||||||
|
// FIXME: should be 401 instead
|
||||||
|
assert.equal(res.statusCode, 500, res.statusCode + ': ' + res.body);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
test("does provide metadata of private table to authenticated requests", function(done){
|
||||||
|
assert.response(server, {
|
||||||
|
headers: {host: 'localhost'},
|
||||||
|
url: '/tiles/test_table_private_1/map_metadata?map_key=1234',
|
||||||
|
method: 'GET'
|
||||||
|
},{}, function(res) {
|
||||||
|
assert.equal(res.statusCode, 200, res.statusCode + ': ' + res.body);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
test("does provide metadata of public table to unauthenticated requests", function(done){
|
||||||
|
assert.response(server, {
|
||||||
|
headers: {host: 'localhost'},
|
||||||
|
url: '/tiles/gadm4/map_metadata',
|
||||||
|
method: 'GET'
|
||||||
|
},{}, function(res) {
|
||||||
|
assert.equal(res.statusCode, 200, res.statusCode + ': ' + res.body);
|
||||||
|
// TODO: show metadata ?
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
test("does provide metadata of public table to authenticated requests", function(done){
|
||||||
|
assert.response(server, {
|
||||||
|
headers: {host: 'localhost'},
|
||||||
|
url: '/tiles/gadm4/map_metadata?map_key=1234',
|
||||||
|
method: 'GET'
|
||||||
|
},{}, function(res) {
|
||||||
|
assert.equal(res.statusCode, 200, res.statusCode + ': ' + res.body);
|
||||||
|
// TODO: show metadata ?
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// DELETE CACHE
|
// DELETE CACHE
|
||||||
|
Loading…
Reference in New Issue
Block a user