Raul Ochoa
e128b1d750
remove unused method
2015-07-10 12:33:01 +02:00
Raul Ochoa
e45efbcfb0
New map config provider to allow injecting limits in context
2015-07-10 12:31:56 +02:00
Raul Ochoa
847ab96a48
RendererFactory changes for new signature
2015-07-10 12:30:52 +02:00
Raul Ochoa
1e52f790ad
One pass for prepare request and response objects
2015-07-10 11:25:20 +02:00
Raul Ochoa
9bece712a9
Splits controllers and supports after layergroup creation actions
2015-07-10 11:24:32 +02:00
Raul Ochoa
6e0678e084
better style
2015-07-10 01:31:06 +02:00
Raul Ochoa
579cabdc1a
Initial refactor of layergroup creation
2015-07-10 01:30:38 +02:00
Raul Ochoa
9f252dfac4
Improve named map config format for cache key
2015-07-09 19:49:11 +02:00
Raul Ochoa
5aad624346
NamedMaps controller using NamedMapMapConfigProvider
...
PreviewBackend with format param
2015-07-09 18:47:21 +02:00
Raul Ochoa
23d1109910
Adds named maps mapconfig provider
...
starts using it in named map instantiation
2015-07-09 14:39:25 +02:00
Raul Ochoa
ae2a72a810
Fix named maps controller using MapStoreMapConfig
2015-07-09 13:37:00 +02:00
Raul Ochoa
123346ebdb
Refactor controllers to use map store map config provider
2015-07-08 20:51:36 +02:00
Raul Ochoa
c8568b175b
Move server info to its own controller
2015-07-08 16:08:38 +02:00
Raul Ochoa
1737cbe1a5
Unifies named map instantiation so it's easy to work on it
2015-07-08 15:50:59 +02:00
Raul Ochoa
c81048312d
Context with user
2015-07-08 15:34:46 +02:00
Raul Ochoa
fa84813a37
Manage cors with a middleware
2015-07-08 13:27:56 +02:00
Raul Ochoa
8cd3807100
Split named maps administration from instantiation/usage
2015-07-08 13:11:57 +02:00
Raul Ochoa
2234a763cb
Uses model through model namespace
2015-07-07 23:52:39 +02:00
Raul Ochoa
d52b65470e
Ports acceptance tests from windshaft
2015-07-07 23:46:58 +02:00
Raul Ochoa
b63e697934
Handle no layers case
2015-07-07 23:45:56 +02:00
Raul Ochoa
8a036c79c7
Merge branch 'master' into standalone-server
...
Conflicts:
app.js
2015-07-07 12:36:39 +02:00
Raul Ochoa
e49881d1ed
Improve authorizedBySigner
2015-07-06 03:23:51 +02:00
Raul Ochoa
aa266f9b61
Improve authorizedByAPIKey
2015-07-06 03:19:56 +02:00
Raul Ochoa
ccd3d0a3bf
Merge branch 'named-maps-tiles' into standalone-server
...
Conflicts:
app.js
2015-07-06 02:55:13 +02:00
Raul Ochoa
8e4e458a2a
fix jshint
2015-07-06 02:08:56 +02:00
Raul Ochoa
7fc403425d
metadata backend
2015-07-04 23:44:39 +02:00
Raul Ochoa
ef171bf2af
reverts map store changes
2015-07-04 23:38:15 +02:00
Raul Ochoa
b74a6624e3
remove redundant code
2015-07-04 23:32:26 +02:00
Raul Ochoa
19bf1fe56b
note about token format
2015-07-04 23:32:19 +02:00
Raul Ochoa
ea6bb8dca3
fix jsdoc
2015-07-04 23:20:12 +02:00
Raul Ochoa
9d6d3f96b2
Unify mapstore
2015-07-04 23:18:09 +02:00
Raul Ochoa
5967c5d1d5
Reorg app.js
2015-07-04 23:09:00 +02:00
Raul Ochoa
a6017c6ade
Reorg requires
2015-07-04 21:33:31 +02:00
Raul Ochoa
2d3f2667ca
Standalone server initial implementation
...
- no dependency over Windshaft.Server
2015-07-04 20:41:22 +02:00
Raul Ochoa
ed90cadd75
fix jshint
2015-07-02 16:35:13 +02:00
Raul Ochoa
034f3c77ce
modifies controllers to use new mapbackend signatures
2015-07-02 02:02:22 +02:00
Raul Ochoa
5a003a7cbe
Initial/dummy implementation for named maps tiles
...
Issues:
- creates a layergroup per tile:
- trigges a mapview
- extracts each time affected tables and last update
- duplicates a lot of code from NamedStaticMapsController
- keeps relying on fake request concept
2015-06-30 15:41:57 +02:00
Raul Ochoa
d13d107aea
Adds names to functions
2015-06-29 19:18:52 +02:00
Raul Ochoa
4f87796e9c
Uses backend-foundations branch to use createLayergroup from backend
2015-06-29 18:58:58 +02:00
Raul Ochoa
098ed6b203
New endpoint for named maps tiles
2015-06-29 16:39:35 +02:00
Raul Ochoa
c6f9152efe
Moves template maps to backends directory
2015-06-29 16:38:13 +02:00
Rafa de la Torre
90d0b23441
Use CDB_QueryTablesText instead of CDB_QueryTables
...
This avoids trouble with len(schema.table_name) > 63
See https://github.com/CartoDB/cartodb-postgresql/issues/86
2015-06-24 15:43:04 +02:00
Raul Ochoa
eaccd062d3
Adds layergroupid header
...
Closes #311
2015-06-18 01:13:33 +02:00
Raul Ochoa
68c70effec
Named maps returning errors=>Array
instead of error=>String
2015-06-05 13:38:38 -04:00
Raul Ochoa
6685b759b2
Remove duplicated module.exports
2015-06-04 20:14:36 -04:00
Raul Ochoa
9613f76ef5
Keep placeholder key validation independent from name validation
2015-06-04 11:58:24 -04:00
Raul Ochoa
3f0d344313
Changes rules for names in templates
...
Now valid names can start with numbers and can contain dashes (-).
Closes #306
2015-06-04 10:41:40 -04:00
Raul Ochoa
513fa2af01
Log all named map invalidation with context
2015-04-28 17:25:07 +02:00
Raul Ochoa
7580081a64
Append stats to profiler
2015-04-28 16:14:30 +02:00
Raul Ochoa
1a66f96379
Adds custom cache control header for named map static images
2015-04-28 16:14:19 +02:00
Raul Ochoa
fde680450f
Do not use headers from abaculus in combination with sendWithHeaders
2015-04-28 16:14:03 +02:00
Raul Ochoa
6843692f01
Pick format from user params
2015-04-28 16:10:50 +02:00
Raul Ochoa
1f3a073f21
Use headers from fake request
2015-04-28 16:10:30 +02:00
Raul Ochoa
9edec8ef3f
Adds Fastly cache backend
2015-04-27 16:31:47 +02:00
Raul Ochoa
c06cba81f4
SurrogateKeysCache now accepts several cache backends
...
- uses queue-async to parallelize the call to invalidate
2015-04-27 16:22:37 +02:00
Raul Ochoa
ad5514dd02
Pick fastly config for server options
2015-04-27 16:20:55 +02:00
Raul Ochoa
a5b9ca706c
Adds new fastly cache backend
2015-04-27 16:18:50 +02:00
Raul Ochoa
5ee19cc2ed
Rename template maps controller to named maps to be more clear
2015-04-27 15:01:49 +02:00
Raul Ochoa
8c3f9c7ba0
Inject server options to use setDBParams
2015-04-27 14:59:41 +02:00
Raul Ochoa
b95a001e0b
New static maps controller/endpoint for named maps
...
- loads a template
- creates a layergroup on the fly
- checks for view center+zoom or bounds
- if not found it tries to estimate them
- if fails it falls to default bounds value
- returns an static image tagged with a surrogate key
2015-04-27 14:56:38 +02:00
Raul Ochoa
d180305e8b
Exposes pgQueryRunner in server options
2015-04-27 14:54:14 +02:00
Raul Ochoa
ef8fcf7e93
Do not inject NamedMapsCacheEntry as template controller knows about them
...
Also do not inject pgConnection
2015-04-27 14:52:36 +02:00
Raul Ochoa
e7bd5dd644
Moves setDBParams to serverOptions so it can be reused
2015-04-27 14:47:58 +02:00
Raul Ochoa
8503a5c7c9
Tables extent API: returns estimated bounds for a list of tables
2015-04-27 12:55:20 +02:00
Raul Ochoa
2de0e5d52b
Extracts psql query run to its own class to be reusable
2015-04-27 12:48:34 +02:00
Raul Ochoa
8fb3dc7529
Move templateName function to template maps model
2015-04-27 11:55:05 +02:00
Raul Ochoa
446c432484
dry content type validation
2015-04-23 12:05:52 +02:00
Raul Ochoa
c49f3aaba5
DRY ifUnauthenticated method
2015-04-23 12:01:53 +02:00
Raul Ochoa
fed29b3b50
Extract finish function
2015-04-23 11:47:01 +02:00
Raul Ochoa
e7d134d70c
No more {username}@{template_name} template id
...
It's still backwards compatible
2015-04-23 11:29:55 +02:00
Raul Ochoa
026a0750e3
Call callback on invalid map store token for named maps
...
fixes #267
2015-04-21 18:59:52 +02:00
Raul Ochoa
0c578a193c
Remove stack for debug environment option
2015-04-14 16:44:03 +02:00
Raul Ochoa
84f579f0ec
Do not add x-profiler header as it's already added by sendResponse
2015-04-14 16:41:04 +02:00
Raul Ochoa
1bf2809355
Do not check statsd_client in profiler
2015-04-14 16:40:15 +02:00
Raul Ochoa
e91bc91057
Adds test suite for x-cache-channel
2015-04-10 13:39:20 +02:00
Raul Ochoa
2d84d38b90
Do not add x-cache-channel header for GET template routes
2015-04-10 10:55:46 +02:00
Raul Ochoa
98bc95bc58
Add user from params to fakereq object so it's propagated
...
fixes #280
2015-04-08 11:11:48 +02:00
Raul Ochoa
ab9ae60958
Merge branch 'master' into render-limits
2015-04-07 14:18:34 +02:00
Raul Ochoa
2eb7529efb
Pick cacheOnTimeout and render limit from mapnik config
...
- adds default mapnik configuration values
- removes old top-level mapnik config, rely on renderer one
2015-04-07 12:52:33 +02:00
Luis Bosque
7934d659fb
Removed more unused code from healthcheck
2015-04-06 20:49:29 +02:00
Luis Bosque
21b5ed9c8a
Fixed healthcheck for jshint
2015-04-06 20:35:22 +02:00
Luis Bosque
da70839f78
Disable per-user healthchecks
2015-04-06 20:15:26 +02:00
Raul Ochoa
2e1f08d764
Adds a feature flag to cache timed out tile requests: cacheOnTimeout
2015-04-06 18:52:54 +02:00
Raul Ochoa
e3c6569302
Adds an onTileErrorStrategy that intercepts error timeout
...
- returns an fallback image without error
2015-04-06 18:43:40 +02:00
Raul Ochoa
38e4812b43
Restore previous beforeLayergroupCreate hook behaviour
...
Adds new rendercache's beforeRendererCreate hook
2015-04-01 19:35:55 +02:00
Raul Ochoa
a9ab9f8b5c
Pick render limit and add it to request context
...
- Extends the problematic fake request in templates
- Picks the value in waterfall, this must be improved because:
1. It does not make sense if there is no layers with limits
2. If we want to include it always without considering the layer type
we can do the operation in parallel
2015-04-01 15:11:58 +02:00
Raul Ochoa
f019f34601
Mapnik renderer configuration not part of the renderer
root configuration
...
- All configuration must be moved into `renderer.mapnik`
- see `config/environments/*.js.example` for reference
2015-04-01 15:04:56 +02:00
Raul Ochoa
400e51f13a
Removes rollbar as optional logger
2015-03-31 11:36:29 +02:00
Raul Ochoa
f1e8c9a709
Tests for cdb request
2015-03-30 16:28:37 +02:00
Raul Ochoa
b2d9e5e822
Merge branch 'master' into 257-remove-old-api
2015-03-30 11:57:03 +02:00
Raul Ochoa
d0313a4228
Remove gc_prob as it is no longer used in grainstore
2015-03-27 17:59:55 +01:00
Raul Ochoa
1f53884722
Remove metrics for authorizedBy*
2015-03-27 17:57:46 +01:00
Raul Ochoa
d210643d63
Only required query params
2015-03-26 17:19:16 +01:00
Raul Ochoa
4be0a70362
Do not append interactivity to params, it is no longer
...
it will be used from mapconfig layer definition
2015-03-26 13:05:35 +01:00
Luis Bosque
e3b7027b24
Remove unnecesary variable in health check
2015-03-25 18:23:03 +01:00
Luis Bosque
0f30b7d7ef
Return failed health checks with disabled file
2015-03-25 18:19:40 +01:00
Raul Ochoa
07bc281e25
Remove check table privacy
2015-03-23 19:19:46 +01:00
Raul Ochoa
1d433bf5b2
Remove table param from generateCacheChannel
2015-03-23 18:58:57 +01:00
Raul Ochoa
d5e20ef558
Remove cache_policy query param
2015-03-23 18:40:59 +01:00
Raul Ochoa
36ea58e750
no longer possible to set cache_buster request param
2015-03-23 18:03:19 +01:00
Raul Ochoa
e1e5f87123
No longer possible to set sql param
2015-03-23 18:02:41 +01:00
Raul Ochoa
ea3d2124dc
No sql param in generateCacheChannel
2015-03-23 17:56:51 +01:00
Raul Ochoa
415d0c42d5
jshint
2015-03-23 17:56:18 +01:00
Raul Ochoa
c19f652ff3
Remove some old accepted query params
2015-03-23 17:54:37 +01:00
Raul Ochoa
f5f7be627f
Move userByReq to its own model
2015-03-23 17:35:09 +01:00
Raul Ochoa
23f5be6c33
Remove config and sql api backend
2015-03-23 15:00:33 +01:00
Raul Ochoa
07297f6bda
Remove cdbQueryTablesFromPostgres option, now uses it by default
2015-03-23 14:44:42 +01:00
Raul Ochoa
02bc7b9fbf
Remove per-table varnish invalidation
2015-03-23 14:27:41 +01:00
Raul Ochoa
5f6185dd51
Merge branch 'master' into 257-remove-old-api
...
Conflicts:
lib/cartodb/cartodb_windshaft.js
lib/cartodb/server_options.js
package.json
2015-03-23 12:24:10 +01:00
Raul Ochoa
9ba53dc4cf
Adds user param to params whitelist and uses localhost user for tests
2015-03-20 00:30:56 +01:00
javi
c1c6d493b7
allow urls like /u/:user/
2015-03-18 15:54:05 +01:00
Raul Ochoa
b6d3785599
Fix Max cyclomatic complexity value
2015-03-16 00:36:38 +01:00
Raul Ochoa
645a2cd442
120 chars lines
2015-03-16 00:27:14 +01:00
Raul Ochoa
8c09dfd230
No capitalize step
2015-03-16 00:21:55 +01:00
Raul Ochoa
336491b54c
Remove unused vars
2015-03-16 00:16:36 +01:00
Raul Ochoa
4365c1dbc2
Define mapnikXmlParams variable
2015-03-16 00:07:05 +01:00
Raul Ochoa
3c56c1fab3
Adds next param
2015-03-16 00:05:01 +01:00
Raul Ochoa
0a331cee37
do not redefine vars
2015-03-16 00:03:59 +01:00
Raul Ochoa
d7f5c40645
Triple ===
2015-03-16 00:00:02 +01:00
Raul Ochoa
5df24e7f27
Remove Unreachable 'break' after 'return'
2015-03-15 23:58:38 +01:00
Raul Ochoa
406a1ffb0b
no global replaceVars func
2015-03-15 23:58:12 +01:00
Raul Ochoa
438ecd5598
jshint: fix Function declarations should not be placed in blocks
2015-03-15 23:56:14 +01:00
Raul Ochoa
bd1c24ee1c
jshint: Remove Confusing use of '!'
2015-03-15 23:52:46 +01:00
Raul Ochoa
e561f77d4d
jshint: fix Dot notation
2015-03-15 23:49:32 +01:00
Raul Ochoa
d03a2c64a6
jshint: fix Missing semicolon
2015-03-15 23:46:59 +01:00
Raul Ochoa
fda8afdaf2
jshint: fix Bad line breaking
2015-03-15 23:44:45 +01:00
Raul Ochoa
71efe2109c
Merge branch 'master' into 257-remove-old-api
...
Conflicts:
lib/cartodb/cartodb_windshaft.js
package.json
2015-02-18 14:51:21 +01:00
Raul Ochoa
d311dd4245
Use PgConnection to set db auth
...
No need to use request context anymore
X-Cache-Channel will be set now even for private tables: fixes #253
2015-02-16 11:57:53 +01:00
Raul Ochoa
b25bb03cdf
Merge branch 'master' into private-cdb_tablemetadata
...
Conflicts:
lib/cartodb/server_options.js
test/support/sql/windshaft.test.sql
2015-02-16 11:41:45 +01:00
Raul Ochoa
597cb5286d
No more before/after state change actions as there is no longer
...
a style change
2015-02-11 18:44:09 +01:00
Raul Ochoa
59dfd11e5b
Remove geom_type retrieval
2015-02-10 16:57:43 +01:00
Raul Ochoa
636591ecbb
Removes flush_cache endpoint
2015-02-10 00:13:50 +01:00
Raul Ochoa
a4eade31a2
Removes map_metadata endpoint
2015-02-10 00:08:08 +01:00
Raul Ochoa
ba0f394a48
Remove infowindow endpoint
2015-02-10 00:03:44 +01:00
Raul Ochoa
75c4153f9b
No need to retrieve api key externally, QueryTablesApi takes care
2015-02-09 19:41:38 +01:00
Raul Ochoa
90b22b2718
QueryTables and last updated_at retrieved with user
...
Move setDBAuth and setDBConn to PgConnection entity
- It uses cartodb-redis to retrieve datasource configuration
Start using it in ServerOptions, TemplateMaps and QueryTablesApi
QueryTablesApi don't receive anymore the connection/credentials
- It will always use an authenticated query to retrieve last update
- That will allow to query affected private tables last update
2015-02-09 14:46:52 +01:00
Raul Ochoa
6bd967e9fb
Merge branch 'master' into medusa-improvements
...
Conflicts:
lib/cartodb/server_options.js
2015-02-06 12:01:28 +01:00
Raul Ochoa
13f5fda1b8
Merge pull request #255 from CartoDB/empty-flush_cache-endpoint
...
Remove per table flush cache endpoint
2015-02-05 17:37:56 +01:00
Raul Ochoa
09527b6808
Remove no longer needed method from query_tables_api
2015-02-05 17:08:20 +01:00
Raul Ochoa
d065ace036
Remove per table flush cache endpoint
2015-02-05 17:05:50 +01:00
Raul Ochoa
fa8b27231c
Removed unused/old template lock functionality
2015-02-04 19:36:16 +01:00
Raul Ochoa
c17af23a40
A non empty datasource from MapConfigNamedLayersAdapter.getLayers
...
means the affected tables can have private tables involved.
That implies QueryTablesApi will need the proper user to use
CDB_QueryTables. So we store it in a request context to use it in
the afterLayergroupCreate call.
Tiles for these layergroups will fail to add a X-Cache-Channel
header because it won't be possible to use the proper user within
those tiles. Ok, they will fail if they are not requested through
the same tiler instance because if they are they most likely will
reuse the in memory cache.
See https://github.com/CartoDB/Windshaft-cartodb/issues/253
2015-02-04 19:31:20 +01:00
Raul Ochoa
2c7bc6adde
Datasource to give per-layer authentication in named layers
...
Make beforeLayergroupCreate to return a datasource with different
authentication for the different layers.
- Named layers will get access to private tables in case it's needed
Changes in MapConfigNamedLayersAdapter:
- It will retrieve the dbAuth params only if named layers are present so
there is no extra overhead for normal layers
- Rename queue function signature from `callback` to `done` so it is easier
to follow the code
Add several tests to validate `named` layers authentication
2015-02-04 11:30:36 +01:00
Raul Ochoa
4949616c4e
Some acceptance tests, http_status = 403 should not happen in adapter,
...
needs improvement
2015-01-30 19:29:45 +01:00
Raul Ochoa
87eaeb0074
Some integration tests for different cases in named layers type
2015-01-30 18:57:01 +01:00
Raul Ochoa
8b07156a2d
Make templateMaps available in cartodb windshaft
2015-01-30 16:51:09 +01:00
Raul Ochoa
d0ef87b0cf
Add a before layergroup creation action to allow first level named
...
maps layer type to be extended as other layers
2015-01-30 15:31:49 +01:00
Raul Ochoa
e28fe1fdc0
Initialize template maps in server options
2015-01-30 15:30:13 +01:00
Raul Ochoa
aecb07b008
Create redis pool in server options when not supplied
2015-01-30 15:28:55 +01:00
Raul Ochoa
efe090f5b0
Accept 'open' string in templated auth
as authorized
2015-01-28 17:29:50 +01:00