Make endpoints configurable

Closes #127
Uses /api/v1/maps* in the production and staging example configs,
keeps /maps* for development and test (they are examples...)
This commit is contained in:
Sandro Santilli 2014-02-05 15:14:47 +01:00
parent a964ed5fe6
commit 9018e39762
7 changed files with 80 additions and 7 deletions

View File

@ -5,7 +5,8 @@ New features:
* Add support for torque tiles (#112) * Add support for torque tiles (#112)
* Add attributes service (#118) * Add attributes service (#118)
* Implement Unified Map API (#127) * Implement Unified Map API (#126)
* Make endpoints configurable (#127)
Enhancements: Enhancements:

View File

@ -5,6 +5,22 @@ var config = {
// Regular expression pattern to extract username // Regular expression pattern to extract username
// from hostname. Must have a single grabbing block. // from hostname. Must have a single grabbing block.
,user_from_host: '^(.*)\\.localhost' ,user_from_host: '^(.*)\\.localhost'
// Base URLs for the APIs
//
// See http://github.com/CartoDB/Windshaft-cartodb/wiki/Unified-Map-API
//
// Base url for the Templated Maps API
// "/maps/named" is the new API,
// "/tiles/template" is for compatibility with versions up to 1.6.x
,base_url_templated: '(?:/maps/named|/tiles/template)'
// Base url for the Detached Maps API
// "maps" is the the new API,
// "tiles/layergroup" is for compatibility with versions up to 1.6.x
,base_url_detached: '(?:/maps|/tiles/layergroup)'
// Base url for the Inline Maps and Table Maps API
,base_url_legacy: '/tiles/:table'
// Maximum number of connections for one process // Maximum number of connections for one process
// 128 is a good value with a limit of 1024 open file descriptors // 128 is a good value with a limit of 1024 open file descriptors
,maxConnections:128 ,maxConnections:128

View File

@ -5,6 +5,22 @@ var config = {
// Regular expression pattern to extract username // Regular expression pattern to extract username
// from hostname. Must have a single grabbing block. // from hostname. Must have a single grabbing block.
,user_from_host: '^(.*)\\.cartodb\\.com$' ,user_from_host: '^(.*)\\.cartodb\\.com$'
// Base URLs for the APIs
//
// See http://github.com/CartoDB/Windshaft-cartodb/wiki/Unified-Map-API
//
// Base url for the Templated Maps API
// "/maps/named" is the new API,
// "/tiles/template" is for compatibility with versions up to 1.6.x
,base_url_templated: '(?:/maps/named|/tiles/template)'
// Base url for the Detached Maps API
// "maps" is the the new API,
// "tiles/layergroup" is for compatibility with versions up to 1.6.x
,base_url_detached: '(?:/maps|/tiles/layergroup)'
// Base url for the Inline Maps and Table Maps API
,base_url_legacy: '/tiles/:table'
// Maximum number of connections for one process // Maximum number of connections for one process
// 128 is a good value with a limit of 1024 open file descriptors // 128 is a good value with a limit of 1024 open file descriptors
,maxConnections:128 ,maxConnections:128

View File

@ -5,6 +5,22 @@ var config = {
// Regular expression pattern to extract username // Regular expression pattern to extract username
// from hostname. Must have a single grabbing block. // from hostname. Must have a single grabbing block.
,user_from_host: '^(.*)\\.cartodb\\.com$' ,user_from_host: '^(.*)\\.cartodb\\.com$'
// Base URLs for the APIs
//
// See http://github.com/CartoDB/Windshaft-cartodb/wiki/Unified-Map-API
//
// Base url for the Templated Maps API
// "/api/v1/maps/named" is the new API,
// "/tiles/template" is for compatibility with versions up to 1.6.x
,base_url_templated: '(?:/api/v1/maps/named|/tiles/template)'
// Base url for the Detached Maps API
// "/api/v1/maps" is the the new API,
// "/tiles/layergroup" is for compatibility with versions up to 1.6.x
,base_url_detached: '(?:/api/v1/maps|/tiles/layergroup)'
// Base url for the Inline Maps and Table Maps API
,base_url_legacy: '/tiles/:table'
// Maximum number of connections for one process // Maximum number of connections for one process
// 128 is a good value with a limit of 1024 open file descriptors // 128 is a good value with a limit of 1024 open file descriptors
,maxConnections:128 ,maxConnections:128

View File

@ -5,6 +5,22 @@ var config = {
// Regular expression pattern to extract username // Regular expression pattern to extract username
// from hostname. Must have a single grabbing block. // from hostname. Must have a single grabbing block.
,user_from_host: '(.*)' ,user_from_host: '(.*)'
// Base URLs for the APIs
//
// See https://github.com/CartoDB/Windshaft-cartodb/wiki/Unified-Map-API
//
// Base url for the Templated Maps API
// "/maps/named" is the new API,
// "/tiles/template" is for compatibility with versions up to 1.6.x
,base_url_templated: '(?:/maps/named|/tiles/template)'
// Base url for the Detached Maps API
// "maps" is the the new API,
// "tiles/layergroup" is for compatibility with versions up to 1.6.x
,base_url_detached: '(?:/maps|/tiles/layergroup)'
// Base url for the Inline Maps and Table Maps API
,base_url_legacy: '/tiles/:table'
// Maximum number of connections for one process // Maximum number of connections for one process
// 128 is a good value with a limit of 1024 open file descriptors // 128 is a good value with a limit of 1024 open file descriptors
,maxConnections:128 ,maxConnections:128

View File

@ -127,10 +127,11 @@ var CartodbWindshaft = function(serverOptions) {
return serverOptions.userByReq(req); return serverOptions.userByReq(req);
} }
// This is for Templated maps
//
// "named" is the official, "template" is for backward compatibility up to 1.6.x // "named" is the official, "template" is for backward compatibility up to 1.6.x
//var template_baseurl = serverOptions.base_url_notable + '/(template|named)'; //
var template_baseurl = '/tiles/template'; var template_baseurl = global.environment.base_url_templated || '(?:/maps/named|/tiles/template)';
var template_baseurl = '(?:/maps/named|/tiles/template)';
// Add a template // Add a template
ws.post(template_baseurl, function(req, res) { ws.post(template_baseurl, function(req, res) {

View File

@ -26,12 +26,19 @@ module.exports = function(){
}); });
var me = { var me = {
base_url: '/tiles/:table', // This is for inline maps and table maps
base_url: global.environment.base_url_legacy || '/tiles/:table',
/// @deprecated with Windshaft-0.17.0 /// @deprecated with Windshaft-0.17.0
base_url_notable: '/tiles', ///base_url_notable: '/tiles',
// This is for Detached maps
//
// "maps" is the official, while // "maps" is the official, while
// "tiles/layergroup" is for backward compatibility up to 1.6.x // "tiles/layergroup" is for backward compatibility up to 1.6.x
base_url_mapconfig: '(?:/maps|/tiles/layergroup)', //
base_url_mapconfig: global.environment.base_url_detached || '(?:/maps|/tiles/layergroup)',
grainstore: { grainstore: {
map: { map: {
// TODO: allow to specify in configuration // TODO: allow to specify in configuration