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
Raul Ochoa
6ab6fd91e4
Merge pull request #248 from CartoDB/196-validate-layergroup-in-named-maps
...
Basic layergroup validation on named map creation/update
2015-01-26 17:04:48 +01:00
Raul Ochoa
e690170689
More exhaustive layergroup validation:
...
- layers is an array and it's not empty
- layers has at least options
2015-01-26 15:51:10 +01:00
Raul Ochoa
11d9f5dd76
Basic layergroup validation on named map creation/update
2015-01-23 18:24:25 +01:00
Raul Ochoa
571a635fed
Old style, avoid merge conflicts, missing history
2015-01-23 17:46:58 +01:00
Raul Ochoa
6e70518146
Split between old cache_enabled and new purge_enabled configuration
2015-01-23 17:46:16 +01:00
Raul Ochoa
fabb438cf0
Escape \b for the regex
2015-01-23 17:22:49 +01:00
Raul Ochoa
272e8cd221
Adds Surrogate Keys to named maps
2015-01-23 16:37:38 +01:00
Raul Ochoa
885accdadf
Adds varnish http port to the default configurations
2015-01-23 16:36:45 +01:00
Raul Ochoa
f5a3b77737
Make TemplateMaps to emit messages when adding/updating/deleting templates
2015-01-23 16:35:47 +01:00
Raul Ochoa
20eb92a3b1
Remove signedmaps and locks functionality as it is no longer needed
2015-01-22 19:28:59 +01:00
Raul Ochoa
8d22ed7594
Tests to validate template instantiation returns new instances with
...
default values if they are missing.
2015-01-22 18:38:42 +01:00
Raul Ochoa
e8ab3a48c6
Removes TemplateMaps dependency on SignedMaps
...
- Token validation is done against the template
- Template is always extended with default values for auth and placeholders
- MapConfig is extended, in order to validate auth_toknes, with template info:
- template name
- template auth
- No more locks to create, update or delete templates
- Trusting in redis' hash semantics
- Some tradeoffs:
* A client having more templates than allowed by a race condition
between limit (HLEN) check and creation (HSET)
* Updating a template could happen while the deleting it, resulting in
in a new template
* Templates already instantiated will be accessible thrught their
layergroup so it is possible to continue requesting tiles/grids/etc.
- Authorization is now handled by template maps
2015-01-22 15:40:40 +01:00
Raul Ochoa
64b5a64e1b
Add templateMaps to serveroptions for the time being
2015-01-21 11:44:06 +01:00
Raul Ochoa
8bc08d75b7
Separate signed maps instantiation
2015-01-20 18:40:56 +01:00
Raul Ochoa
c14157acc2
Moves template routing
2015-01-20 18:16:09 +01:00
Raul Ochoa
595dac57a0
Moves setDBParams into controller
2015-01-20 18:14:10 +01:00
Raul Ochoa
5632b19e16
Remove unused functionality from app
2015-01-20 18:13:36 +01:00
Raul Ochoa
007196555d
Use userByReq from serverOptions
2015-01-20 18:12:24 +01:00
Raul Ochoa
62ffc05ef4
Move template map instantiation into controller
2015-01-20 17:57:53 +01:00
Raul Ochoa
5962141114
Moves template options to controller
2015-01-20 17:45:47 +01:00
Raul Ochoa
7901a05b55
List templates moved into controller
2015-01-20 17:39:33 +01:00
Raul Ochoa
4c2a0ca048
Delete moved to controller
2015-01-20 17:34:23 +01:00
Raul Ochoa
b40c8e6624
Retrieve template moved to controller
2015-01-20 17:17:06 +01:00
Raul Ochoa
97d3b1a03b
Move update template to controller
2015-01-20 17:07:55 +01:00
Raul Ochoa
fcea0c9b83
Move template creation to controller
2015-01-20 16:58:12 +01:00
Raul Ochoa
7ce8737e75
Initial split template maps endpoint into its own controller
2015-01-20 16:56:06 +01:00
Raul Ochoa
caa05e779a
Add scale_factor param as valid one
2015-01-14 18:11:13 +01:00