Javier Goizueta
5ba72b4894
Create base class for overviews dataviews
2016-05-23 14:18:45 +02:00
Raul Ochoa
8134aca14d
Named map provider into providers package
2016-05-23 13:32:28 +02:00
Raul Ochoa
215bbbd29c
Store provider into providers package
2016-05-23 13:29:34 +02:00
Raul Ochoa
c4b6f65404
Create map provider into providers package
2016-05-23 13:28:11 +02:00
Raul Ochoa
20725900b6
Overviews adapter into adapters package
2016-05-23 13:25:11 +02:00
Raul Ochoa
ab984729f5
Named layers adapter into adapters package
2016-05-23 13:16:34 +02:00
Raul Ochoa
9f8551058d
Analysis adapter into adapter package
2016-05-23 13:10:52 +02:00
Raul Ochoa
c372d69e98
LayergroupToken only makes sense at testing environment
2016-05-23 13:01:23 +02:00
Javier Goizueta
3add61ec57
Use Camshaft's API to get node filters
2016-05-19 18:32:49 +02:00
Raul Ochoa
b308259e6f
Merge branch 'master' into turbo-carto-category
...
Conflicts:
lib/cartodb/utils/style/postgres-datasource.js
2016-05-19 16:58:31 +02:00
Raul Ochoa
14a0afc7c0
Merge branch 'master' into turbo-carto-tokens
2016-05-19 16:56:00 +02:00
Raul Ochoa
424cc6d93b
Fail on turbo-carto invalid quantification methods
2016-05-19 15:54:58 +02:00
Raul Ochoa
3bacfecc49
Merge branch 'master' into turbo-carto-category
2016-05-19 13:43:35 +02:00
Raul Ochoa
64dd033c94
Merge branch 'master' into turbo-carto-tokens
2016-05-19 13:39:36 +02:00
Raul Ochoa
2e79781711
Adds support for sql wrap in all layers
...
Previously it was only working for analyses ones.
2016-05-19 13:34:29 +02:00
Raul Ochoa
ee94b8a587
Very raw implementation of SubstitutionTokens based on origin data
2016-05-19 12:13:49 +02:00
Raul Ochoa
ba08745c23
Adds hasTokens method to SubstitutionTokens
2016-05-19 12:10:19 +02:00
Raul Ochoa
573932efba
Simplify condition and use positive naming for parsing cartocss
2016-05-19 11:48:57 +02:00
Raul Ochoa
c7f37047b0
Save original query from analysis before wrapping it
2016-05-19 11:41:06 +02:00
Javier Goizueta
2a06405a58
Move definition to the scope where it's needed
2016-05-18 18:21:17 +02:00
Javier Goizueta
a1e024e228
Fix dataview problem for bbox with no query rewrite data
...
Fixes #457
2016-05-18 17:49:09 +02:00
Javier Goizueta
e98a5aeff0
Small code clean-up
2016-05-18 15:48:30 +02:00
Javier Goizueta
4c375780c7
replace underscore functions by standard (ES5) equivalents
...
Note: _.find(a,...) is not replaced by a.find(...)
because it is not available for all the collections
we need it for.
2016-05-18 15:43:20 +02:00
Javier Goizueta
48415fb1f3
Merge branch 'master' into overviews-widgets-2
2016-05-18 13:58:55 +02:00
Javier Goizueta
8da7cf73c1
Remove comment
2016-05-18 13:55:09 +02:00
Javier Goizueta
ba30f460ee
Remove comment
...
Overviews will not be used for dataview search
2016-05-18 13:42:58 +02:00
Javier Goizueta
e1aa0bc7ae
Use JSON format for EXPLAIN
2016-05-18 13:09:55 +02:00
Javier Goizueta
aa0ddaae95
Remove comment
2016-05-18 08:07:48 +02:00
Javier Goizueta
cb3706e5cf
Update Query Rewriter comments
2016-05-18 08:04:11 +02:00
Javier Goizueta
3d8f6576aa
Implement category and range filters
2016-05-18 07:48:11 +02:00
Raul Ochoa
a1934c87d5
Adds turbo-carto category quantification with exact strategy
2016-05-17 19:45:37 +02:00
Javier Goizueta
42ef40282b
💄 shorten long lines
2016-05-17 15:46:13 +02:00
Javier Goizueta
7f7204df6c
Add filter stats information to query rewriter data
2016-05-17 15:41:31 +02:00
Javier Goizueta
3c6d930434
Fix bug
2016-05-17 15:39:32 +02:00
Raul Ochoa
8fb35571fe
Adds support for mapnik substitution token at turbo-carto level
...
Goes green and fixes #455
2016-05-17 15:00:18 +02:00
Javier Goizueta
df63fbbd04
Refactor filter application into own model
...
This also avoids storing an object in the overviews query rewriter
for the bbox filter (a plain data structure is used instead).
2016-05-17 13:55:00 +02:00
Javier Goizueta
9d82e8c27c
Use bounding box of dataviews to select overviews level
2016-05-13 20:47:36 +02:00
Javier Goizueta
224eb392ba
Add overviews-dependent dataviews behaviour
...
Now QueryRewriter is used in dataview objects they can decide
whether overviews are applicable, have the oportunity to
adapt queries for overviews, etc.
This is done by having overviews-related behaviour in models/dataview/overviews
and falling back to the regular models/dataview.
2016-05-13 18:46:58 +02:00
Raul Ochoa
c12e5f7a27
Fix named maps with analysis
...
Named map provider was missing analysis backend dependency
Fixes #450
2016-05-13 16:57:27 +02:00
Raul Ochoa
2e26e2e126
Use split strategy for head/tails turbo-carto quantification
2016-05-13 12:57:43 +02:00
Raul Ochoa
61765d20e1
Fail on turbo-carto specific errors
...
This will try to fallback on postcss errors so it still targets
carto parser in those cases.
Closes #434
2016-05-13 12:10:05 +02:00
Javier Goizueta
b574489950
Refactor to reduce cyclomatic complexity
2016-05-12 18:47:24 +02:00
Javier Goizueta
85788f42a6
Adapt QueryRewriter to new requirements
2016-05-12 18:30:10 +02:00
Javier Goizueta
5fb7f07498
Prevent problems with missing layers in mapconfig
2016-05-12 18:29:30 +02:00
Javier Goizueta
3300c095ed
Merge branch 'master' into overviews-widgets-2
2016-05-12 17:37:24 +02:00
Javier Goizueta
55cf0a8447
Fix typo
2016-05-12 16:43:09 +02:00
Javier Goizueta
64a87690ee
💄 Fix line lengths, etc.
2016-05-12 16:20:34 +02:00
Javier Goizueta
3890014250
Fix QueryRewriter use
...
QueryRewriter should be passed the query that would be used otherwise.
If QR cannot handle it, it will be returned unmodified.
So QR must be used when a query has been prepared and the result
of QR should be used to replace it.
2016-05-12 10:25:09 +02:00
Javier Goizueta
65612f0109
Add filters information at map instantion time to the query rewriter data
2016-05-11 19:24:13 +02:00
Raul Ochoa
3e4f71d873
Nicer error message when missing sql from layer options
...
Fixes #446
2016-05-11 18:24:47 +02:00
Javier Goizueta
fa19f90a6a
Apply overviews query rewriter to dataviews
...
This requires the QueryRewriter to handle a filters parametes in
its data (with Camshaft filter definitions) and a final
options parameters with a bounding_box parameter.
2016-05-11 18:18:22 +02:00
Raul Ochoa
4570d17ce1
Use original query from source nodes
...
Doing a st_transform doesn't make sense as we already should have
the_geom_webmercator column available
2016-05-10 17:09:36 +02:00
Raul Ochoa
6639664b3f
Allow override zoom+center or bbox for static named maps previews
2016-05-09 21:13:13 +02:00
Raul Ochoa
3e94e3288f
Use sql as replacement variable
2016-05-06 17:09:41 +02:00
Raul Ochoa
7d4caf6974
Analysis layers can have a sql_wrap option to wrap node queries
2016-05-06 16:37:52 +02:00
Raul Ochoa
c77ea49594
Use a more aggressive cache control header for node status endpoint
2016-05-05 17:52:37 +02:00
Raul Ochoa
e3d6da06a7
Remove console usage
2016-05-05 12:17:51 +02:00
Raul Ochoa
755dfe6822
Append dataviews related columns to layers
2016-04-27 18:30:05 +02:00
Raul Ochoa
dd731399dc
Starts using turbo-carto dependency
2016-04-26 16:28:05 +02:00
Raul Ochoa
c5bed48d61
Handle missing analyses nodes for layers pointing to them
...
Fixes #422
2016-04-21 17:24:52 +02:00
Raul Ochoa
93dd8a2213
Add analyses metadata for named maps excluding queries
2016-04-21 17:03:41 +02:00
Raul Ochoa
4e4a223f24
Better naming for analysis mapconfig adapter
2016-04-21 16:25:59 +02:00
Raul Ochoa
bc845b2e8d
Validate dataviews format before instantiating
2016-04-21 16:16:00 +02:00
Raul Ochoa
08ad961123
Adds support to return multiple errors in BaseController.sendError
2016-04-21 16:05:48 +02:00
Javier Goizueta
0bb6178d49
Merge pull request #421 from CartoDB/420-overviews-schema
...
Support unneeded schema names in overviews queries
2016-04-20 18:16:16 +02:00
Javier Goizueta
084b3e94a6
Remove unneeded variable
2016-04-20 18:01:34 +02:00
Javier Goizueta
a0445b5cdd
💄 Fix indentation
...
2 spaces were used instead of 4 in some places
2016-04-20 17:47:43 +02:00
Javier Goizueta
ecbae52abe
Refactor: use reduce for collecting overviews metadata
2016-04-20 17:24:16 +02:00
Raul Ochoa
a35403cd91
Add option to modify host header template for camshaft batch client
2016-04-20 16:36:29 +02:00
Raul Ochoa
e04a9a2579
Append dataviews filters after checking if mapconfig must be adapted
2016-04-20 15:40:14 +02:00
Javier Goizueta
57cba3d511
Fix comment
2016-04-20 14:30:13 +02:00
Javier Goizueta
7902b276ad
Support unneeded schema names in overviews queries
...
Fixes #420
Keep table schema of overviews base tables and use it
to support queries that use the schema name when not
strictly needed.
2016-04-19 22:50:05 +02:00
Raul Ochoa
f932862ce4
Improve configuration for batch queries
2016-04-18 15:13:00 +02:00
Raul Ochoa
ab55b083b4
Style
2016-04-18 14:48:14 +02:00
Raul Ochoa
263b3e3682
Rename file
2016-04-18 14:47:35 +02:00
Raul Ochoa
68b19c65fe
newline at end of file
2016-04-18 14:40:34 +02:00
Raul Ochoa
da602eeda0
Use inline execution in camshaft instead of a database service stub
2016-04-14 17:25:08 +02:00
Raul Ochoa
a26025b259
Add analysis backend so it's possible to inject configuration
2016-04-14 17:09:07 +02:00
Raul Ochoa
25a61c8479
Remove console log
2016-04-14 17:08:23 +02:00
Raul Ochoa
e73b64bfed
Merge branch 'master' into analysis-layers
2016-04-14 13:40:51 +02:00
Raul Ochoa
b5b8085444
Reformat for better indentation
2016-04-14 13:40:02 +02:00
Raul Ochoa
388f08a277
Remove unneeded comma
2016-04-14 13:39:19 +02:00
Raul Ochoa
aa36236ed2
Rename analysis to analysis status backend, making room for analysis backend
2016-04-14 13:25:56 +02:00
Raul Ochoa
a9ca453b17
Remove some JSON.stringify
2016-04-14 13:20:22 +02:00
Raul Ochoa
e037c8c1b2
Do not use layer index as analysis node is are unique
2016-04-14 11:08:39 +02:00
Raul Ochoa
09687b3811
Proper endpoint to check node status from analysis
2016-04-14 10:59:51 +02:00
Raul Ochoa
28400f4544
Better naming
2016-04-13 19:15:06 +02:00
Raul Ochoa
7a87b8ebef
Use node id instead of param id for endpoint
...
It will be easier to retrieve node status with that id
2016-04-13 18:04:49 +02:00
Raul Ochoa
9ff661480b
Do not append root as it is already included in sorted nodes
2016-04-13 18:02:28 +02:00
Raul Ochoa
ca564bfaad
Add fake analysis node status endpoint
2016-04-11 18:49:56 +02:00
Raul Ochoa
dd36877a20
Add per node status
2016-04-11 18:49:43 +02:00
Raul Ochoa
1d860fd202
Remove top level url for analysis
2016-04-11 18:49:22 +02:00
Raul Ochoa
0981ccd0c4
Add metadata information about analyses
2016-04-07 17:58:12 +02:00
Raul Ochoa
077c4ab907
Adds analysis MapConfig adapter to named maps
2016-04-07 16:18:48 +02:00
Raul Ochoa
efacafaa0d
Merge remote-tracking branch 'origin/master' into analysis-layers
2016-04-07 15:04:25 +02:00
Raul Ochoa
1c250bf243
Remove dependency
2016-04-07 14:30:49 +02:00
Daniel García Aubert
b5b8083acd
Overrided cartocss in the instantiation of named maps
2016-04-06 17:43:25 +02:00
Raul Ochoa
ab6bae6a7f
Merge branch 'master' into analysis-layers
2016-04-04 16:24:31 +02:00
Javier Goizueta
01218c6ea1
Merge pull request #409 from CartoDB/405-wrapped-overviews-queries
...
Support overviews for named layer wrapped queries
2016-04-04 14:18:57 +02:00
Javier Goizueta
fa2e884605
Support overviews for named layer wrapped queries
...
Fix #405
2016-04-01 15:40:44 +02:00
Javier Goizueta
b97a67b844
Fix overviews integration for named layers
...
Fixes #400
2016-03-31 18:33:41 +02:00
Raul Ochoa
499178319d
Add search endpoint/backend for dataviews
2016-03-23 12:14:17 +01:00
Raul Ochoa
2bd3e46a4d
Build dataviews with factory to generalise them
2016-03-22 13:10:42 +01:00
Raul Ochoa
26512f6485
Remove unused function
2016-03-22 12:22:48 +01:00
Raul Ochoa
90b92f0180
Adds support for category filters
2016-03-22 12:22:04 +01:00
Raul Ochoa
ebe25761d2
Extract variable
2016-03-22 10:52:02 +01:00
Raul Ochoa
f928147559
Fix bbox template
2016-03-21 18:16:54 +01:00
Raul Ochoa
d5c5c7bdbb
Do not remove analysis, camshaft takes care of source root nodes now
2016-03-21 18:02:19 +01:00
Raul Ochoa
ff147ca3bf
Add dataviews to layergroup metadata
2016-03-18 18:09:17 +01:00
Raul Ochoa
1e239658d8
Just remove analysis if there are analysis
2016-03-18 17:34:40 +01:00
Raul Ochoa
52f35d74b9
Allow a higher jshint maxcomplexity
2016-03-18 17:31:28 +01:00
Raul Ochoa
57e6e49749
Another workaround to not delete analyses if there are dataviews
2016-03-18 17:28:36 +01:00
Raul Ochoa
b3bbb9d97a
Initial checkin for dataviews
...
It only supports histograms.
2016-03-18 17:22:02 +01:00
Raul Ochoa
697749b204
Add timer helper
2016-03-18 17:21:43 +01:00
Raul Ochoa
5bd30b6b5f
Analysis layers adapter skips analysis if there is only source nodes
2016-03-17 12:50:42 +01:00
Raul Ochoa
43c56af0fc
Merge remote-tracking branch 'origin/master' into analysis-layers
...
Conflicts:
npm-shrinkwrap.json
2016-03-16 16:13:44 +01:00
Daniel García Aubert
d52d3d909f
Fixed double-check error in turbo-cartocss preprocesing.
2016-03-14 15:25:56 +01:00
Raul Ochoa
eec44dd62d
Merge branch 'master' into analysis-layers
...
Conflicts:
npm-shrinkwrap.json
test/support/test-client.js
2016-03-14 15:13:19 +01:00
Raul Ochoa
3f41f19ab9
Rename adapter
2016-03-14 11:50:52 +01:00
Daniel García Aubert
178345ab12
Fixed typo
2016-03-14 11:18:32 +01:00
Daniel García Aubert
052b58ab90
Moved turbo-cartocss integration from named maps admin to named map provider
2016-03-11 18:28:14 +01:00
Daniel García Aubert
cc5443152b
Now turbo-cartocss is also parsed in template modification.
2016-03-11 11:06:51 +01:00
Daniel García Aubert
dab4b6d56b
Implemented integration of turbo-cartocss for named maps
2016-03-10 20:45:00 +01:00
Raul Ochoa
b2378939c5
Merge branch 'master' of github.com:CartoDB/Windshaft-cartodb into analysis-layers
2016-03-10 11:14:10 +01:00
Daniel García Aubert
46b212b2cd
Merge branch 'move-turbo-cartocss' of github.com:CartoDB/Windshaft-cartodb into move-turbo-cartocss
2016-03-09 20:14:06 +01:00
Daniel García Aubert
f47842c96d
Integrated turbo-cartocss adapter for named maps
2016-03-09 20:12:51 +01:00
Raul Ochoa
bbfcc640d1
Style
2016-03-09 18:08:06 +01:00
Raul Ochoa
e9b8c512c9
Re-indent
2016-03-09 18:07:11 +01:00
Raul Ochoa
15b54a2918
Re-indent
2016-03-09 18:05:17 +01:00
Raul Ochoa
7fa8d1e0c9
Analyses are now an array and layers consume from their nodes
...
Layers now can define a `source: {id: 'a0'}` option to point to an
analysis node that will be used as the query for that layer.
2016-03-09 17:39:20 +01:00
Daniel García Aubert
a0073da4b3
Added regression test for turbo-cartocss' integration
2016-03-09 11:48:07 +01:00
Daniel García Aubert
affa254b9d
Moved and adapted acceptance test for turbo-cartocss integration
2016-03-08 20:06:43 +01:00
Daniel García Aubert
3e0c19a669
Fixed typo
2016-03-08 14:41:10 +01:00
Daniel García Aubert
ab6004f21e
Integrated turbo-cartocss for anonymous maps
2016-03-08 14:34:57 +01:00
Raul Ochoa
634a4c2a01
Debug option for internal nodes: it allows to display and customize cartocss
2016-03-04 16:20:23 +01:00
Raul Ochoa
c7bdabfc65
Merge branch 'new_querytables_library' into analysis-layers
2016-03-04 12:08:57 +01:00
Raul Ochoa
16a7c4fa3d
Merge branch 'master' into new_querytables_library
...
Conflicts:
test/support/prepare_db.sh
test/support/sql/CDB_QueryStatements.sql
2016-03-04 00:39:14 +01:00
Raul Ochoa
94c7bc41be
Merge branch 'master' into new_querytables_library
2016-03-03 19:30:51 +01:00
Raul Ochoa
baf87e90d7
Just callback as result is handled internally
2016-03-03 19:25:32 +01:00
Raul Ochoa
d9f6df9815
Remove nested step call
2016-03-03 19:01:58 +01:00
Raul Ochoa
7c154dd405
Add notes about why we keep feeding the layergroupAffectedTables cache
2016-03-03 19:01:21 +01:00
Raul Ochoa
e3a5c52ebf
Merge branch 'master' into analysis-layers
2016-03-03 17:51:46 +01:00
Javier Goizueta
4e40a61795
Change form of overviews queries so they can be optimized
...
The PostgreSQL planner wasn't applying the spatial filtering of
tile bounds to the queries efficiently.
2016-03-02 19:25:08 +01:00
Raul Ochoa
ce032fcc96
Improve styling in analysis layers
2016-03-02 12:42:42 +01:00
Raul Ochoa
b9d2e297b6
Merge branch 'master' of github.com:CartoDB/Windshaft-cartodb into analysis-layers
2016-02-24 10:35:28 +01:00
Alejandro Martínez
dcf156ba21
Merge remote-tracking branch 'origin/master' into new_querytables_library
2016-02-23 19:20:10 +01:00
Javier Goizueta
f0a1e7a0e0
Simplify error passing
2016-02-23 18:15:14 +01:00
Javier Goizueta
21f3c8a387
Change error messages when getting overviews metadata fails
...
Remove the detail that the error occurred trying to get overviews
metadata from the error message. This should be less confusing
to the user.
2016-02-23 11:45:26 +01:00
Alejandro Martínez
e491c0b825
Rename node-cartodb-query-tables to cartodb-query-tables
2016-02-22 19:11:54 +01:00
Alejandro Martínez
e67f7b0d0e
Drop old QueryTablesApi
2016-02-22 15:26:06 +01:00
Raul Ochoa
877425267e
Correct URLs for widgets in named maps
...
Fixes #381
2016-02-22 15:06:39 +01:00
Alejandro Martínez
2d6ee93448
Delete query_tables_api.js, wrap shrinkwrap
2016-02-22 13:40:20 +00:00
Alejandro Martínez
cf06ff86c2
Use node-cartodb-query-tables library
2016-02-22 11:40:25 +01:00
Raul Ochoa
30f8234bd0
Use analysis configuration as per new camshaft api
2016-02-19 17:13:28 +01:00
Raul Ochoa
6d91172630
Remove console.log
2016-02-18 13:43:39 +01:00
Alejandro Martínez
587f66c23d
Sort cache channels and keys alphabetically
2016-02-17 15:36:26 +01:00
Raul Ochoa
dfcb3b6dc1
Merge branch 'new_querytables' into analysis-layers
2016-02-17 11:31:55 +01:00
Alejandro Martínez
9e7b288f44
Merge remote-tracking branch 'origin/master' into new_querytables
2016-02-15 11:47:29 +00:00
Raul Ochoa
ed1f753690
Fix style
2016-02-12 18:45:46 +01:00
Raul Ochoa
bcf3ce71ef
Adds experimental adapter to use queries based on camshaft analysis
2016-02-12 18:38:06 +01:00
Raul Ochoa
39cb463fbd
Fix jsdoc
2016-02-12 16:13:40 +01:00
Raul Ochoa
354c982ea0
Fix jsdoc
2016-02-12 16:12:02 +01:00
Alejandro Martínez
b7ff554209
Use new _Updated_At function and new names
2016-02-11 11:45:09 +01:00
Javier Goizueta
cd2bc319d8
Fix: bad error message
2016-02-10 12:27:39 +01:00
Javier Goizueta
4f8534afb3
Fix: accept empty layers in the MapConfigOverviewsAdapter
2016-02-10 12:16:37 +01:00
Alejandro Martínez
95ab99be4d
Use new CDB_QueryTablesUpdatedAt function
2016-02-09 19:06:34 +01:00
Javier Goizueta
5b50e784cd
Merge branch 'master' into overviews-work
2016-02-09 17:14:08 +01:00
Daniel García Aubert
887d71a9ad
Fixed default geojson config
2016-02-05 12:35:03 +01:00
Javier Goizueta
56095926e0
Remove CartCSS handling from QueryRewriter
...
QueryRewriter doesn't require a style method anymore
2016-02-05 08:23:02 +01:00
Javier Goizueta
0a218da835
Implement an Overviews query rewriter
...
Use the Windshaft query-rewriter interface to adapt queries so
they use available overview tables.
This requires a version of Windshaft that implements the query-rewriter
interface (package.json/npm-shrinkwap.json have yet to be updated)
2016-02-04 10:26:31 +01:00
Javier Goizueta
870688309a
Fix syntax
2016-02-02 19:29:10 +01:00
Javier Goizueta
a5070162c2
Merge branch 'overviews-work' of github.com:CartoDB/Windshaft-cartodb into overviews-work
2016-02-02 19:24:49 +01:00
Javier Goizueta
8348f74513
Provide OverviewsHandler configuration to Windshaft
...
A parameter has been added to Windshaft Mapnik renderer configuration
to define how queries will be adapted to use overviews.
Here we're using the default OverviewHandler providen in Windshaft,
with a parameter to define how the zoom level is determined.
2016-02-02 19:23:07 +01:00
Raul Ochoa
81200b72b4
Merge branch 'master' into overviews-work
...
Conflicts:
test/acceptance/multilayer.js
2016-01-28 19:48:11 +01:00
Raul Ochoa
d6ecb8c793
Remove trailing whitespace
2016-01-28 19:44:25 +01:00
Javier Goizueta
37a4aaeeb4
Refactor findStatusCode for legibility
...
...disregarding jshint opinion
2016-01-27 17:39:24 +01:00
Javier Goizueta
3b6abb5c9f
Refactor construction of OverviewsApi
2016-01-26 11:49:41 +01:00
Javier Goizueta
ef9e9f8c78
Adapt to changes in CDB_Overviews SQL function
...
Now data for multiple tables is obtained in one call, simplifying the
use of this function. Also base table is returned as an oid, so we
now have the overview base table names with schema only when needed.
2016-01-26 11:38:21 +01:00
Javier Goizueta
2a819e559b
Remove commented code
2016-01-22 11:15:25 +01:00
Javier Goizueta
8d691b2048
Refactor OverviewsApi
...
Separate metadata processing into collecting each layer's information (map)
and then organizing metadata per tables/zoom levels (reduce).
2016-01-22 11:03:01 +01:00
Javier Goizueta
81cb75f821
Refactor statusFromErrorMessage
...
...to make jshint happy
2016-01-21 18:24:49 +01:00
Javier Goizueta
8592136683
Change status code assigned to some errors
...
Errors without an explicit status code with the error message
containing 'does not exist' were assigned codes 404 or 403.
Now if the error message is 'function X does not exist'
(originated in SQL) the error code assigned is 400.
2016-01-21 18:02:21 +01:00
Javier Goizueta
c8033700c3
Fix equality operator use
2016-01-21 17:40:57 +01:00
Javier Goizueta
62cc53228c
OverviewApi: skip tables with no overlays in result
2016-01-21 13:35:56 +01:00
Javier Goizueta
87bffb9657
Fix: overviews entry should be inside options
2016-01-21 12:06:01 +01:00
Javier Goizueta
094c9076be
Fix: only mapnik layers can have overviews
2016-01-21 12:04:40 +01:00
Javier Goizueta
cc0385d614
Fix class name
2016-01-21 12:03:50 +01:00
Javier Goizueta
ed9b3e1230
Bring in code commented out for tests
2016-01-21 10:58:50 +01:00
Javier Goizueta
ffd89edaa7
Add overviews metadata to MapController instantiateTemplate
...
As in MapController create.
2016-01-20 18:36:06 +01:00
Javier Goizueta
5543fcb736
Fix: handle error properly when augmented layers with overviews
2016-01-20 18:09:00 +01:00
Javier Goizueta
b9f8812c98
Update comments
2016-01-20 17:09:15 +01:00
Javier Goizueta
09568050d6
Fix for changes in pgQueryRunner
2016-01-20 13:13:02 +01:00
Javier Goizueta
3dad225568
Fix bug
2016-01-20 13:12:45 +01:00
Javier Goizueta
4ca8ecf64c
Refactor/fix potential problems
2016-01-20 12:44:00 +01:00
Javier Goizueta
2f2f6114e8
Refactor coding style
...
Hide the fact that we define functions in a loop from jshint!
2016-01-20 12:42:43 +01:00
Javier Goizueta
8a49e46626
Accept minor jshint suggestions
2016-01-20 11:51:46 +01:00
Javier Goizueta
9feae66173
Bugfixes
2016-01-20 11:49:17 +01:00
Javier Goizueta
6aa9515fd1
Merge branch 'master' into overviews-work
2016-01-20 10:19:27 +01:00
Javier Goizueta
54854f0984
Avoid wrapper-functions to capture looping variable values
...
Use async-queue defer additional parameters
2016-01-20 10:07:19 +01:00
Javier Goizueta
89590d32df
Sketch of vector overviews support
2016-01-19 19:31:43 +01:00
Raul Ochoa
1dea84f9bf
Change redis pool name to report with a valid statsd key
2016-01-19 13:00:02 +01:00
Raul Ochoa
3afb7a0eb3
Adds some notes about unsupported endpoints
2016-01-15 17:02:09 +01:00
Raul Ochoa
3e9f2a1319
Merge branch 'master' into mapconfig-extension
2016-01-14 18:45:30 +01:00
Raul Ochoa
9e74e8633a
Merge pull request #359 from CartoDB/query-runner-improvements
...
Query runner improvements
2016-01-13 18:56:26 +01:00
Raul Ochoa
8203c878f4
Send 409 error code when maximum number of templates limit is reached
...
Closes #346
2016-01-12 15:53:16 +01:00
Raul Ochoa
76cbc2f863
Improve PgQueryRunner public run method
...
Last param is callback function, receiving err + result, no need to
keep passing two functions, the query handler and the final callback.
It should be easier to understand now as query handler was in a position
where it had to know about receiving a callback, that was exposing an
implementation detail of PgQueryRunner.
2015-12-30 17:44:49 +01:00
Raul Ochoa
7d2f543284
Allow column_type query string param
2015-12-02 18:50:11 +01:00
Raul Ochoa
d9614cc1c5
Add search endpoint
2015-11-16 13:15:01 +01:00
Raul Ochoa
a84dd7cd29
Add more url params
2015-11-12 19:45:49 +01:00
Raul Ochoa
7d230cc15d
Widgets returning two results
2015-11-04 17:21:33 +01:00
Raul Ochoa
8a81828a3d
Enable bbox query string param
2015-10-29 16:25:56 +01:00
Raul Ochoa
0285f015e2
Pass filters within params
2015-10-27 13:26:11 +01:00
Pablo Alonso Garcia
7b57d22444
Added trailing slash to API endpoint in widget URLs
2015-10-26 17:50:50 +01:00
Raul Ochoa
8b222914c5
Add URL to widgets with their endpoints
2015-10-26 14:35:51 +01:00
Raul Ochoa
6d9182aba8
Rename widgets endpoint to honour its name
2015-10-26 13:42:06 +01:00
Raul Ochoa
4b0ecb1251
Adds histogram support, a bit of code duplication
2015-10-26 11:10:59 +01:00
Raul Ochoa
36a6af3266
Replaces List with Widget backend and changes list access to be layer based
2015-10-26 10:23:56 +01:00
Raul Ochoa
52dbe14af2
Merge branch 'master' into mapconfig-extension
...
Conflicts:
npm-shrinkwrap.json
package.json
2015-10-13 16:06:04 +02:00
Raul Ochoa
9449642773
Remove soft-purge option when purging fastly
2015-10-09 16:37:17 +02:00
Raul Ochoa
9bc95a6071
List endpoint for layergroups
2015-10-06 19:47:44 +02:00
Raul Ochoa
b80e80bd61
Do not pass MapStore as it is no longer needed in Attributes backend
2015-10-06 19:46:52 +02:00
Raul Ochoa
3181bcc63e
Remove app dependency from controllers
2015-09-30 18:00:54 +02:00
Raul Ochoa
9cd67f06c1
User extraction from request middleware
...
Used only where potentially a user is required.
It doesn't make sense to extract a user for request that don't need
a user in the context.
2015-09-30 17:17:01 +02:00
Raul Ochoa
79375616d5
Default host to empty string when header is not found
...
A String object is required to not fail on `.match` interface.
2015-09-30 16:31:56 +02:00
Raul Ochoa
3dfa7a8427
Name functions
2015-09-29 19:39:08 +02:00
Raul Ochoa
f2278d47a5
Increment map views on static preview images
2015-09-29 12:21:11 +02:00
Raul Ochoa
5e1bc3e199
Named map updates does not emit update event if template didn't change
...
closes #323
2015-09-23 19:59:39 +02:00
Raul Ochoa
857548bbe4
Adds support for named layers in named tiles/static maps
2015-09-23 18:44:11 +02:00
Raul Ochoa
f553efa69e
Named map mapconfig provider takes care of template modifications
...
If a template changes it will flush the provider so it recreates the mapconfig
2015-09-23 16:45:20 +02:00
Raul Ochoa
84bf375f72
Makes cache async
2015-09-23 14:32:26 +02:00
Raul Ochoa
57284a9398
style
2015-09-23 13:05:35 +02:00
Raul Ochoa
c8705a8022
Use provider to get affected tables in static maps
2015-09-23 13:04:46 +02:00
Raul Ochoa
b617bb0277
Health check will always return error if file is found even if empty
2015-09-22 15:15:57 +02:00
Raul Ochoa
ac7b02a434
Adds test for corner case in health check
2015-09-22 14:55:50 +02:00
Raul Ochoa
16480a6c44
log as warn
2015-09-18 17:23:37 +02:00
Raul Ochoa
813a59a36e
Removes function from control flow
2015-09-18 17:16:30 +02:00
Raul Ochoa
23fd33030d
remove console.log
2015-09-18 17:13:37 +02:00
Raul Ochoa
2bdce4baa7
Replaces console.log with global logger
2015-09-18 17:13:22 +02:00
Raul Ochoa
3abdee5e87
use debug for corner case
2015-09-18 16:40:55 +02:00
Raul Ochoa
bc806bba34
remove console.log
2015-09-18 16:39:30 +02:00
Raul Ochoa
208dd209a4
Merge branch 'standalone-server' into standalone-server-express-4
...
Conflicts:
lib/cartodb/controllers/base.js
2015-09-17 12:57:33 +02:00
Raul Ochoa
9139feaa30
Move error message handling test to unit
2015-09-17 12:48:29 +02:00
Raul Ochoa
f9f6c8b700
Use debug instead of console
2015-09-17 12:03:58 +02:00
Raul Ochoa
db8457af60
status + send on syntax error handler
2015-09-17 11:07:02 +02:00
Raul Ochoa
361dd00e9d
Use debug instead of console
2015-09-17 11:06:46 +02:00
Raul Ochoa
d93abe8e7d
Change to delete
2015-09-17 02:05:47 +02:00
Raul Ochoa
a4ba21f9db
Call send with correct params
2015-09-17 02:05:25 +02:00
Raul Ochoa
feabb20748
Send depending on body type
2015-09-17 02:04:30 +02:00
Raul Ochoa
31fe06e3ce
Use listener and remove etag
2015-09-17 02:04:10 +02:00
Raul Ochoa
ef86bacf7f
Set headers with set method
2015-09-17 02:03:09 +02:00
Raul Ochoa
beabe48aec
Upgrade express, adds body-parser
...
- basic changes in server
- basic changes in unit tests
2015-09-17 00:19:00 +02:00
Raul Ochoa
38e422e84c
Moves sendError and sendResponse to Base controller
...
Test for findStatusCode moved to controller
2015-09-16 21:54:56 +02:00
Raul Ochoa
e32ced107e
Fix all ported tests related to req2params
2015-09-16 18:09:39 +02:00
Raul Ochoa
99d78ce9b8
Remove unused variables
2015-09-16 17:02:35 +02:00
Raul Ochoa
352dc6b311
BaseController to encapsulate req2params method
...
All controllers now extending BaseController
- Most of the acceptance ported tests will be broken
2015-09-16 16:18:26 +02:00
Raul Ochoa
66f94d9452
Fix test
2015-09-16 02:49:18 +02:00
Raul Ochoa
62f428f434
Remove app dependency
2015-09-16 01:48:54 +02:00
Raul Ochoa
713ad03c3b
No need to expose findStatusCode at app level
2015-09-16 01:44:30 +02:00
Raul Ochoa
ad2ebc11dd
Remove unused require
2015-09-16 01:39:15 +02:00
Raul Ochoa
72a0c4a487
New sendResponse and sendError methods
...
- fixes response for static named map error cases
2015-09-16 01:36:51 +02:00
Raul Ochoa
fba5a35514
Move sendResponse and sendError to response object
2015-09-15 19:28:02 +02:00
Raul Ochoa
e2e5e40ea9
Fix maxcomplexity
2015-09-15 19:01:34 +02:00
Raul Ochoa
f5660667c8
Move req.profiler call to req2params itself
2015-09-15 18:16:50 +02:00
Raul Ochoa
64e225c4aa
Merge branch 'master' into standalone-server
2015-09-15 11:48:33 +02:00
Raul Ochoa
126491fc93
Remove unused xml file that was used in health check
2015-09-15 11:46:19 +02:00
Raul Ochoa
ea872d96f8
Listen to renderer cache events and log stats
2015-09-14 19:24:24 +02:00
Raul Ochoa
2d3088ba27
Port everything related to stats from windshaft
2015-09-14 18:47:01 +02:00
Raul Ochoa
469b602484
Attributes backend using mapconfig provider to access attributes
2015-09-14 18:46:22 +02:00
Raul Ochoa
67afd8738b
Remove renderer cache param from attributes backend
2015-09-10 00:47:32 +02:00
Raul Ochoa
f96c80d7a1
Merge branch 'master' into standalone-server
...
Conflicts:
lib/cartodb/cartodb_windshaft.js
2015-09-08 15:42:30 +02:00
Raul Ochoa
7ae034d746
Remove no longer needed health check params
2015-09-07 18:40:20 +02:00
Raul Ochoa
e0a7eb01cc
Use torque renderer config
...
Adds some notes about db pool params in torque
2015-09-04 16:33:40 +02:00
Raul Ochoa
3af2136770
Merge branch 'master' into standalone-server
...
Conflicts:
lib/cartodb/cartodb_windshaft.js
lib/cartodb/monitoring/health_check.js
2015-09-04 13:21:54 +02:00
Raul Ochoa
d6102284a4
Do not return results from health check
...
It also removed old dependencies and takes disabled file path in ctor.
2015-08-28 17:41:40 +02:00
Raul Ochoa
943509864d
Improve uniqueness of named map map config provider
2015-07-31 12:24:34 +02:00
Raul Ochoa
2ac228359f
Fallback to image/png header
2015-07-31 12:23:36 +02:00
Raul Ochoa
909f8da2ff
Adds lru cache for layergroups and named maps mapconfig provider
2015-07-15 16:51:26 +02:00
Raul Ochoa
5a5832394a
Remove console.log
2015-07-15 16:10:59 +02:00
Raul Ochoa
9c6c63c167
More strict jshint
2015-07-15 15:03:28 +02:00
Raul Ochoa
bbec3ae7da
Subscribes to named map changes to invalidate cache
2015-07-14 21:18:10 +02:00
Raul Ochoa
1f7daab677
Caching named map providers by template name and config/auth token
...
Named Map provider cache buster changes on creation
2015-07-14 21:17:58 +02:00
Raul Ochoa
91ab64dda9
Fix cached result in getAffectedTablesAndLastUpdatedTime
2015-07-14 21:00:27 +02:00
Raul Ochoa
722705468f
Not adding surrogate keys for empty affected tables
2015-07-14 20:53:26 +02:00
Raul Ochoa
07c920bad5
Use named map provider cache to retrieve providers
2015-07-14 20:53:06 +02:00
Raul Ochoa
6d3ef11a7c
Fix cache usage in layergroup affected tables
2015-07-14 20:11:49 +02:00
Raul Ochoa
4aabe9d946
Named maps controller adding cache headers
...
This requires a cache for affected tables as it is hitting db for
every request right now
2015-07-14 20:10:55 +02:00
Raul Ochoa
7247b20686
Unify sendResponse in named maps controller
2015-07-14 17:34:05 +02:00
Raul Ochoa
8e8f618a22
assert instead of ifs
2015-07-14 17:33:42 +02:00
Raul Ochoa
d426702213
Merge branch 'master' into standalone-server
2015-07-14 16:24:39 +02:00
Raul Ochoa
c97610ad59
style
2015-07-14 14:30:37 +02:00
Raul Ochoa
e8b5845174
Shared cache for affected tables in layergroup and map controllers
2015-07-14 13:40:41 +02:00
Raul Ochoa
c295584864
Cache channel now in layergroup controller
...
Internal cache channel dbname+layergroupid cache must be unified in layergroup
and map controllers
Removes sendWithHeaders
2015-07-14 11:55:49 +02:00
Raul Ochoa
36257f73b9
Better format
2015-07-13 17:18:50 +02:00
Raul Ochoa
5e2a20fbe0
Tags layergroup instantiation with surrogate keys per affected tables
2015-07-13 16:15:34 +02:00
Raul Ochoa
76823f7529
No need to pass a reference to itself
2015-07-13 15:06:22 +02:00
Raul Ochoa
96a6a0d980
Using MapStore, no need to attach it to app
2015-07-13 15:05:45 +02:00
Raul Ochoa
b05701be61
Authentication/Authorization moves to its own entity
2015-07-13 15:05:03 +02:00
Raul Ochoa
316f08df08
named maps tiles sending tile headers
2015-07-13 11:53:23 +02:00
Raul Ochoa
f9554ec761
Re-enable render limits
2015-07-10 19:10:55 +02:00
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
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
Raul Ochoa
845ebcac15
Merge branch 'master' into static-controllers
...
Conflicts:
npm-shrinkwrap.json
2015-01-13 12:45:37 +01:00
Raul Ochoa
3f1aa9955b
Remove query tables api dependency from health check
2015-01-13 12:09:02 +01:00
Alejandro Martínez
96bcd14bb8
Remove PostgreSQL from health checks
...
This way the health checks will only check for Redis and Mapnik
initialization.
An empty tile without layers or datasources is generated.
2015-01-13 11:29:19 +01:00
Raul Ochoa
48d60821a7
Exposes http renderer config
2014-12-01 18:43:40 +01:00
Raul Ochoa
97c55c1187
Removes console.log
2014-11-05 15:42:16 +01:00
Raul Ochoa
7c389a8010
Health check endpoint
2014-11-05 15:06:01 +01:00
Raul Ochoa
c88330f5f2
Allow a different cache-control max-age for layergroup responses
2014-10-24 16:05:41 +02:00
Raul Ochoa
cf5e34eae6
Upgrades Windshaft to start reporting redis/renderers/mapnik pool metrics
2014-10-15 16:45:49 +02:00
Raul Ochoa
9f5faf7cf8
Server options to instantiate cartodb-redis with redis configuration if pool is not provided
2014-10-14 21:19:44 +02:00
Raul Ochoa
711c1a89ee
Merge branch 'master' into one-redis-mpool
2014-10-14 18:23:17 +02:00
Raul Ochoa
774104b34e
Defaults resultSet to object if undefined in QueryTablesApi
2014-10-13 15:24:14 +02:00
Raul Ochoa
3dad6e96e3
Merge branch 'master' into one-redis-mpool
2014-10-07 12:47:10 +02:00
Raul Ochoa
b4bee864d2
Lock now considers the creation time and compares against a ttl so
...
a lock is not keep forever in case of failure.
Pending: lazy removal of expired locks.
2014-09-25 19:00:35 +02:00
Raul Ochoa
3e571b4ce8
Use object.keys to iterate over objects
2014-09-25 12:17:32 +02:00
Raul Ochoa
fb8fd5121e
Do not expose internal implementation
2014-09-25 12:16:34 +02:00
Raul Ochoa
ac2a3243b5
Don't cache regexes and avoid the _re hack
2014-09-25 12:04:52 +02:00
Raul Ochoa
1c10b8193b
Adds dot to compile templates
2014-09-24 19:17:51 +02:00
Raul Ochoa
abf0fa1b32
Remove unused var
2014-09-24 19:12:43 +02:00
Raul Ochoa
4c5bc13c7f
Check style fixes
2014-09-24 19:11:53 +02:00
Raul Ochoa
7009eb20f8
Check style fixes
2014-09-24 11:42:53 +02:00
Raul Ochoa
24cbd192aa
Share one redis-mpool across the application
2014-09-24 11:42:36 +02:00
Raul Ochoa
9496d83d1c
Adds poolSize configuration for mapnik
2014-09-18 19:06:45 +02:00
Raul Ochoa
7faff8f887
Removes cors metric
2014-08-26 11:53:59 +02:00
Raul Ochoa
f406001315
Removes get_infowindow and get_map_metadata metrics
2014-08-25 19:15:31 +02:00
Raul Ochoa
2b2020b43b
Removes getTableGeometryType metric
2014-08-25 19:09:54 +02:00
Raul Ochoa
65e0364d37
Removes duplicated code in query_tables_api
2014-08-22 12:52:05 +02:00
Raul Ochoa
965e1cd0c4
Supports !scale_denominator!
dynamic param in SQL queries
2014-08-22 10:16:39 +02:00
Raul Ochoa
a3a5964926
Upgrades dependencies
2014-08-14 19:54:45 +02:00
Raul Ochoa
6a8cff6fcd
Merge branch 'remove-mapnik-dependency'
...
Conflicts:
NEWS.md
2014-08-14 19:26:52 +02:00
Raul Ochoa
23a7684208
Removes mapnik dependency as it now relies on Windshaft to check mapnik version
2014-08-14 18:27:54 +02:00
Raul Ochoa
f2541d8cae
Merge branch 'master' into CDB-3686
...
Conflicts:
package.json
2014-08-13 15:31:22 +02:00
Raul Ochoa
40acf533ae
Specifies name in the redis pool
2014-08-13 15:12:46 +02:00
Raul Ochoa
e7ab71c606
Merge branch 'master' into CDB-3686
2014-08-11 12:19:11 +02:00
Raul Ochoa
2ed656ca0d
Upgrades windshaft (and grainstore) to be able to specify the tile
...
format, see: https://github.com/mapnik/mapnik/wiki/OutputFormats
2014-08-07 01:57:21 +02:00
Raul Ochoa
5cf79c82bb
Configurable QueryTablesAPI to call directly postgresql using cartodb-psql
...
or to keep using a request to the SQL API
2014-08-06 21:48:08 +02:00
Raul Ochoa
d1373bec66
Improves SQL query for affected tables and last updated time
2014-08-04 17:48:59 +02:00
Raul Ochoa
dabcba9f5f
Merge branch 'master' into CDB-3686
2014-08-04 13:11:40 +02:00
Raul Ochoa
414673b347
CDB-3657 Adds profiler as JSON to the header
2014-08-04 12:53:15 +02:00
Raul Ochoa
507a6a8979
CDB-3686 Style changes
2014-08-04 01:32:49 +02:00
Raul Ochoa
9f8d73a1df
Removes duplicated file
2014-07-30 18:17:14 +02:00
Raul Ochoa
3af45e1a32
Moves calls to SQL API to its own entity.
...
Groups affected tables and last updated time for affected tables into one request.
2014-07-30 13:46:46 +02:00
Raul Ochoa
75088c89d3
Style fixes
2014-07-30 13:45:53 +02:00
Raul Ochoa
67df6a4d73
Adds support for several auth tokens
2014-07-08 10:35:45 +02:00
Raul Ochoa
f756b9d77f
Removes search_path param
2014-07-04 12:18:35 +02:00
Raul Ochoa
bfdcee3772
Retrieving db public user from redis. It uses a new multiget method from cartodb-redis
2014-07-03 21:39:47 +02:00
Raul Ochoa
470aea22d9
Sets full search_path
2014-07-03 10:24:37 +02:00
javi
3806ad8843
Merge remote-tracking branch 'origin/CDB-2891-search_path' into multiuser
2014-06-27 09:10:39 +02:00
Raul Ochoa
037ce2dc12
CDB-2891 Exposes username as search_path in params
2014-06-27 00:48:48 +01:00
javi
338c0bcdbe
use regclass instead table name to look for last_updated in CDB_tablemetadata
2014-06-26 15:00:55 +02:00
Raul Ochoa
4cf1ddd6fc
CDB-3256 Adds response and method references to fake request object
2014-06-24 15:52:47 +02:00
Raul Ochoa
5e73b12cf5
CDB-3256 adds headers based on affected tables when creating a layergroup via HTTP GET
2014-06-24 12:16:30 +02:00
Sandro Santilli
49829f8935
Set default PostgreSQL application name to "cartodb_tiler"
2014-05-07 16:19:22 +02:00
Sandro Santilli
882ec65ba0
Use signer's map_key when contacting sql-api
...
Includes testcase.
Fixes #188
2014-04-08 09:44:49 +02:00
Sandro Santilli
9e495b42ee
Do not cache non-success jsonp responses
...
Closes #186
Includes testcase
2014-03-21 13:58:20 +01:00
Sandro Santilli
60b552027b
Add optional support for rollbar
...
Re-targets to 1.10.0
Also installs an uncaught exception handler
Closes #150
2014-03-12 17:21:35 +01:00
javi
5bfc360856
added serverMetadata option for layer group, close #182 CDB-1940
2014-03-06 15:19:12 +01:00
Sandro Santilli
0afc9c154b
Cleanly catch exceptions from sendResponse
...
Closes #178
2014-03-04 18:04:58 +01:00
Sandro Santilli
97e00fb47d
Do not send duplicated stats on template instanciation
...
Closes #179
2014-03-04 17:51:50 +01:00
Sandro Santilli
ffda103d61
Do not UNWATCH on every redis client release
...
Closes #161
2014-03-04 15:36:08 +01:00
Sandro Santilli
ecc9ea1226
Use 403 for forbidden, not 401
...
Includes upgrade of windshaft to 0.19.3
Includes upgrade of redis-mpool to 0.0.4
2014-03-04 15:32:31 +01:00
Sandro Santilli
93345a19b2
Do not log an error on GET /
...
Closes #177
2014-03-04 14:26:41 +01:00
Sandro Santilli
1741a20575
Do not cache map creation responses
...
Closes #176
CDB-1908 #resolve
CDB-1901 #resolve
Includes testcase
2014-03-04 10:46:15 +01:00
Sandro Santilli
30eb939dc7
Fix error message on missing requested signature
...
We don't really distinguish between missing or non-authorizing
signature. And that's fine. See #170
2014-03-03 18:14:17 +01:00
Sandro Santilli
40a254922a
Raise 403 forbidden on missing requested signature
...
Closes #170
Includes testcase
2014-03-03 18:06:39 +01:00
Sandro Santilli
7bc5bab432
Properly prefix statsd labels for all endpoints
...
CDB-1861 #resolve
Will be 100% complete with update of Windshaft to 0.19.3+
2014-03-03 16:24:20 +01:00
Sandro Santilli
bddc65a504
Forbid instanciating templates of foreign users
...
Closes #173
Includes testcase
2014-02-28 16:05:46 +01:00
Sandro Santilli
ddd2628c19
Fix database connection settings on template instanciation
...
Closes #174
Enhances testsuite to ensure test.js settings are read
2014-02-28 15:56:31 +01:00
Sandro Santilli
f46dc90035
Forbid using map signatures of foreign users
...
Closes #173
Includes testcase
2014-02-28 13:24:38 +01:00
Sandro Santilli
55f333c0b7
Call userByReq() only once in req2params
2014-02-27 16:40:59 +01:00
Sandro Santilli
f24e4f8a0a
Really skip CDB_TableMetadata lookup for sql affected by no tables
...
Closes #169
2014-02-27 15:34:09 +01:00
Sandro Santilli
36632c762e
Do not query CDB_TableMetadata for queries affected by no tables
...
Closes #16
2014-02-27 12:32:34 +01:00
Sandro Santilli
f284362988
Reduce sql-api communication timeout, and allow overriding it
...
Introduces new sqlapi.timeout directive, defaults to 100 ms
Includes testcase.
Closes #167
2014-02-27 10:33:32 +01:00
Sandro Santilli
a13c1f61af
Do not log an error for a legit request requiring no X-Cache-Channel
2014-02-24 17:34:00 +01:00
Sandro Santilli
5c466c51a8
Revert order of hostname components for statsd.prefix
2014-02-21 17:25:10 +01:00
Sandro Santilli
09ea924eb2
Allow using GET with sql-api for queries shorter than configured len
...
Introduces new sqlapi.max_get_sql_length directive, defaults to 2048.
Closes #155
Includes testcases.
2014-02-20 10:17:48 +01:00
Sandro Santilli
c8a042abdd
Expand "addCacheChannel" stats
2014-02-19 18:10:33 +01:00
Sandro Santilli
b4fc8ec4a5
Allow using ":host" as part of statsd.prefix
...
It'll be replaced with hostname.
Closes #153
2014-02-19 15:31:12 +01:00
Sandro Santilli
6c6f3d02f6
Always generate X-Cache-Channel for token-based tile responses
...
Closes #152
2014-02-19 10:09:54 +01:00
Sandro Santilli
36a135f02b
Refactor addCacheChannel using Step
2014-02-19 07:19:41 +01:00
Sandro Santilli
1c3734fde7
Make server_option a callable function, to reduce globals
...
Updates acceptance test for #152 to not mess wit internals
2014-02-19 06:45:29 +01:00
Sandro Santilli
3c09be64ce
Add pending test for X-Cache-Channel on tiler restart ( #152 )
2014-02-18 18:33:00 +01:00
Sandro Santilli
c14378ca5d
Avoid checking for table privacy when not using table maps
...
See #147
2014-02-17 18:20:18 +01:00
Sandro Santilli
26b9c8123d
Set maxSocket to allow more than 5 concurrent connections to sql-api
2014-02-17 18:03:11 +01:00
Sandro Santilli
1f2e4edd35
Comments cleanup
2014-02-17 11:10:08 +01:00
Sandro Santilli
212eec2ca6
Pass profiler back to windshaft on createLayergroup
2014-02-17 08:50:12 +01:00
Sandro Santilli
935826ed1a
Integrate statsd in template instanciation endpoint
...
NOTE: stats are only enabled using windshaft 0.18.2+
2014-02-15 08:23:43 +01:00
Sandro Santilli
8f3c6c3c87
Add profiler calls in template instanciation endpoint
2014-02-15 08:06:57 +01:00
Sandro Santilli
63401ca3df
Use a single redis client in SignedMap.isAuthorized
2014-02-14 17:07:52 +01:00
Sandro Santilli
def474c611
Skip getting geometry type if request has no table
2014-02-14 12:26:34 +01:00
Sandro Santilli
c1b2d16119
rename tablePrivacy_getUserDBName profile label
2014-02-14 11:47:43 +01:00
Sandro Santilli
678d653ee9
Allow configuring TTL of mapConfigs via "mapConfigTTL"
2014-02-13 15:44:54 +01:00
Sandro Santilli
4a6af108b4
Fix use of maxUserTemplate configuration variable
2014-02-13 15:01:58 +01:00
Sandro Santilli
e4cd37647e
Allow limiting number of allowed user templates
...
Adds maxUserTemplates directive.
Closes #136
2014-02-13 14:55:31 +01:00
Sandro Santilli
f7cef9dcd8
Fix bogus reference in SignedMaps when globals.environment is not set
2014-02-13 10:57:41 +01:00
Sandro Santilli
b673cb2a1f
Add more detailed profile info about the "authorize" step
...
Closes #142
2014-02-13 10:25:28 +01:00
Sandro Santilli
e88e49001a
Do not retrive user's api key if no api key was provided
...
Reduces redis interaction, see #142
2014-02-13 10:16:11 +01:00
Sandro Santilli
bf45bbea56
Do not send multiple equal commands to Varnish on connect
...
Closes #135
Also accept varnish "secret" in config
2014-02-12 16:14:27 +01:00
javi
01feeae6f4
include state configuration for windshaft fixes #139
2014-02-12 15:27:42 +01:00
Sandro Santilli
a948038ff4
Disable debug logging unless "debug" config param evaluates to true
...
Closes #137
2014-02-11 16:34:43 +01:00
Sandro Santilli
8c013ed2d1
Rename Step function in setDBConn
2014-02-11 13:42:44 +01:00
Sandro Santilli
7a749631e8
Fix profiler labels
2014-02-11 13:40:17 +01:00
Sandro Santilli
747f4803ba
Include hash of template in the maptoken returned from instanciation
...
Doing so basically removes the need to include the template identifier
in the surrogate keys of the responses for resources fetched via
the instance whenever template is updated. See #105
2014-02-10 15:30:35 +01:00
Sandro Santilli
399bed34ad
Do not try to replace template variables in undefined elements
...
See #133
2014-02-10 11:26:21 +01:00
Sandro Santilli
6b41fef96c
Fix sendError calls to receive the full Error instance
2014-02-10 11:11:35 +01:00
Sandro Santilli
fe6e915c0d
Always set database access parameters from req2params
...
Fixes privileged database access from unauthorized users while
fetching torque tiles or feature attributes (unreleased feature).
Closes #132 .
Includes testcase, which closes #119
2014-02-07 18:08:41 +01:00
javi
f5e0d06e2f
fixed when default value in a template attribute is a number and type = number checking fails fixed #130
2014-02-06 17:45:48 +01:00
javi
78f69d5236
template variables with spaces are not replaced correctly fixed #129
2014-02-06 17:33:26 +01:00
Sandro Santilli
b4936ffafa
Do not allow creating template with auth='token' and no valid tokens
...
Closes #128
Includes acceptance test for both creation and update
2014-02-06 12:24:14 +01:00
Sandro Santilli
752e9ec655
Add checkInvalidCertificate method for SignedMap class
...
Includes unit test
2014-02-06 12:05:01 +01:00
Sandro Santilli
9018e39762
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...)
2014-02-05 15:14:47 +01:00
Sandro Santilli
a964ed5fe6
Implement Unified Map API
...
Closes #126
2014-02-04 19:04:59 +01:00
Sandro Santilli
b862904506
Be explicit about the map output srid configuration
2014-02-04 16:26:26 +01:00
javi
7197cc2d62
added stack to response in development mode
2014-02-04 14:58:21 +01:00
Sandro Santilli
978ea9cd04
Fix sqlapi request header to be "Host", not "Hostname"
...
Closes (better) #117 -- automated test included
2014-01-30 16:46:26 +01:00
Sandro Santilli
ca4f3d2025
Re-introduce sqlapi.host directive, allowing DNS lookups drop
...
For backward compatibility, sqlapi.host is only used if domain
is also defined and has a different value (empty string allowed).
Closes #117
2014-01-30 16:12:37 +01:00
Sandro Santilli
1f0faba71c
Stop processing XML on renderer creation
...
Not needed anymore since 1.6.1 introduced on-demand XML generation.
2014-01-30 11:14:52 +01:00
Sandro Santilli
d32278b227
Rename template instanciation function
2014-01-29 14:30:27 +01:00
javi
ad0b2ffc8e
added support for template instanciation with jsonp closes #116
2014-01-29 13:11:37 +01:00
Sandro Santilli
67e4e7e99b
Set api_key to signer's when instanciating a template map
...
Closes #114
2014-01-28 12:37:41 +01:00
javi
92ca447c06
fixed #91
2014-01-28 12:05:01 +01:00
javi
e4e08db0b4
Merge branch 'master' of github.com:Vizzuality/Windshaft-cartodb
2014-01-22 19:10:37 +01:00
javi
164d952e56
support CORS in template instanciation endpoint, fixes #113
2014-01-22 19:10:09 +01:00
Sandro Santilli
5772c81590
Fix support for long (>64k chars) queries in layergroup creation
...
Closes #111 . Includes testcase.
2014-01-16 17:20:30 +01:00
Sandro Santilli
f89fd98ed7
Expect malformed response objects ( #109 )
...
Include test for sql errors on layergroup creation
Closes #109
2014-01-15 11:53:19 +01:00
Sandro Santilli
d6fe5339cf
Do not choke on headers cleanup when response headers are not set
...
Raise a WARNING instead.
See #107 (github) and CDB-1438 (JIRA)
2014-01-13 18:56:09 +01:00
Sandro Santilli
2690ef3f05
Drop cache headers from error responses.
...
Closes #107 (github), #resolve CDB-1423 (JIRA)
2014-01-13 11:20:02 +01:00
Sandro Santilli
4ee4492490
Yet another username extraction fix. Thanks again @demimismo.
...
Closes #100 (yet again)
2014-01-09 16:46:47 +01:00
Sandro Santilli
fcd17692ee
Fix username extraction in another two places. Thanks @demimismo.
...
Closes #100 (again)
2014-01-09 15:36:16 +01:00
Sandro Santilli
ef3733aebe
Improve error on attempt to delete missing template
2013-12-20 12:54:38 +01:00
Sandro Santilli
c7465479a2
Improve error on a signature certificate with no or broken auth
2013-12-20 10:41:27 +01:00
Sandro Santilli
50a902a90b
Fix english of error message for sql-api connection problems
2013-12-18 12:59:26 +01:00
Sandro Santilli
0f90d687c7
Implement signed teplate maps
...
Closes #98
Raises minimum required redis version to 2.4.0+ (Debian stable has 2.4.14)
2013-12-17 17:39:21 +01:00
Sandro Santilli
84b7d78ea4
Add an utility authorizedByAPIKey method for reuse
2013-12-17 17:17:17 +01:00
Sandro Santilli
73a065c1cc
Make sure user from domain is always computed locally
...
Involved upgrade of cartodb-redis to 0.3.0
Really closes #100
2013-12-17 17:17:17 +01:00
Sandro Santilli
1f693c6c78
Add 'user_from_host' directive to generalize username extraction
...
Closes #100
Default extractor is backward compatible
2013-12-17 17:17:17 +01:00
Sandro Santilli
e9db535dd8
Drop the idea that we can distinguish a "dbowner" from the domain
...
We only recognize "users"
2013-12-17 17:17:17 +01:00
Sandro Santilli
7b7408dab7
Revert "Drop /map_metadata API entry point"
...
This reverts commit b37b07a06a1dd3cf05d60f4aa613ab5c48b90700.
This was too light of a decision...
2013-12-17 17:17:17 +01:00
Sandro Santilli
9c897a91a9
Drop /map_metadata API entry point
...
Closes #101
2013-12-17 17:17:17 +01:00
Sandro Santilli
38342a7f5f
Refactor req2params to make setting db credential easier
2013-12-17 17:17:16 +01:00
Sandro Santilli
276422f4be
Set grainstore's GC run probability, for documentation purpose
...
It sets it to the current grainstore default, so nothing changes.
2013-12-17 17:17:16 +01:00
Sandro Santilli
385022de80
Revert "fixed #91 " -- the fix was for an unconfirmed bug
...
This reverts commit 9155724082
.
See #38 for further action
2013-12-17 17:17:16 +01:00
javi
a378fc4e68
fixed #91
2013-12-17 17:17:16 +01:00
javi
01de288c35
fixed #96
2013-12-17 17:17:15 +01:00
Sandro Santilli
cc09a8b66f
Update to cartodb-redis 0.1.0
2013-12-17 17:17:15 +01:00
Sandro Santilli
a60a3adc12
CartoDB redis interaction delegated to "cartodb-redis" module
2013-12-17 17:17:14 +01:00
Sandro Santilli
baa95a62d1
Add support for reading user-specific database_password from redis
...
This commits adds support for CartoDB-2.5.0 model.
Closes #89 .
Change is backward compatible.
2013-12-17 17:17:14 +01:00
Sandro Santilli
12f0826d32
Do not force ending dot in SQL-API hostname, for easier testing
2013-12-17 17:17:14 +01:00
Sandro Santilli
07cb36ebc7
Read user's database_host from redis, when available ( #88 )
...
Still lacks a testcase
2013-12-17 17:17:14 +01:00
Sandro Santilli
d7c82e7a51
Indent fixes
2013-12-17 17:17:14 +01:00
Sandro Santilli
bf340e684a
Tweak error messages on missing redis variables, update tests
2013-12-17 17:17:14 +01:00
Luis Bosque
8d1b394df1
Add function to read database host from redis
2013-12-17 17:17:14 +01:00
Sandro Santilli
eb51d18012
Add support for specifying database connection passwords
2013-12-17 17:17:13 +01:00
Sandro Santilli
a27cf1b41c
Do not let anonymous requests use authorized renderer caches
...
Puts dbuser in params, for correct use by Windshaft renderer cache.
Before this fix, and after commit 1c9f63c9
, the renderer cache key
did not contain the db user.
2013-12-17 17:17:12 +01:00
Sandro Santilli
f5c24cf252
Add more profile slots
2013-12-17 17:17:11 +01:00
Sandro Santilli
dbf6bb5fca
Only use sqlapi configuration "host" if "domain" is undefined
...
We'll consider an empty string domain as valid (it's actually used
for testsuite).
2013-12-17 17:17:11 +01:00
Javier Arce
d4d5272bf2
Sets the sqlapi domain. Fixes #82
2013-12-17 17:17:11 +01:00
Sandro Santilli
633e8d164b
Rename sqlapi.host configuration to sqlapi.domain. Closes #79 .
...
Support for "host" is retained for backward compatibility.
2013-08-21 10:11:30 +02:00
Sandro Santilli
ec97381820
Add more timing in the profile, add useProfiler config variable
...
Default to useProfiler:true in staging and development
2013-07-16 16:33:03 +02:00
Sandro Santilli
381b9a9edf
Take cache_buster value, if present, as a Last-Modified timestamp
...
This makes the Last-Modified header consistent across requests
using the same cache_buster (embedded in the token for multilayer
API).
2013-07-15 13:48:06 +02:00
Sandro Santilli
76c056c7a1
Revert "Use a constant Last-Modified time with cache_policy=persist"
...
This reverts commit 4b5899ff1a
.
The reason is that setting Last-Modified to a remote date in the past
triggers early expiration of cache (as max-age will be reached sooner)
2013-07-15 13:14:06 +02:00
Sandro Santilli
4b5899ff1a
Use a constant Last-Modified time with cache_policy=persist
...
After all if the client is asking for persistance it doesn't make
sense to set a different Last-Modified for different incoming
requests (even if we don't expect any) ....
2013-07-15 12:09:13 +02:00
Sandro Santilli
afd4c3b460
Set Last-Modified header to allow for 304 responses
2013-07-15 12:02:54 +02:00
Sandro Santilli
65c7c5fc9c
Always serve multilayer tiles and grids with persisting cache request
2013-07-08 12:13:45 +02:00
Sandro Santilli
60242c80f4
Set default layergroup time to live in redis to 2 hours
2013-07-08 11:50:19 +02:00
Sandro Santilli
632d75a7c8
specify units for rendererConfig.cache_ttl
2013-06-28 17:58:11 +02:00
Sandro Santilli
d7b1ff9a80
Set default layergroup ttl locally
2013-06-26 16:26:02 +02:00
Sandro Santilli
eb83851bb7
Fix database authentication with multi-table layergroups
2013-06-17 17:24:09 +02:00
Sandro Santilli
70f535d13a
Properly report error from unsuccessful source table fetching
...
Report terse error to user, verbose to log
2013-06-11 10:28:05 +02:00
Sandro Santilli
63296a87cb
Do not increment undefined mapview stat tags
2013-06-06 13:26:59 +02:00
Sandro Santilli
d977f83bd1
Change stats format for multilayer map token request
...
See https://github.com/Vizzuality/Windshaft-cartodb/wiki/Redis-stats-format
Target 1.3.0
2013-06-04 13:30:28 +02:00
Sandro Santilli
5b6919e0c6
Fix unit of measure for lastUpdated info extraction
2013-05-30 16:48:40 +02:00
javi
efa79b243c
fixed lzma decoding to fix browser requirements
2013-04-24 15:10:58 +02:00
Sandro Santilli
f0fc44aac9
Fix fetching of affected tables when mapnik tokens are used
...
We'll replace !bbox! with an empty box and !pixel_width! and
!pixel_height! with 1 before passing the query to CDB_QueryTable
2013-04-23 17:29:49 +02:00
Sandro Santilli
f85ca16c62
Change LZMA expected encoding from HEX to base64, reducing its size
2013-04-19 16:16:20 +02:00
Sandro Santilli
14953e992f
Multilayer API changes, target 1.2.0
...
- Layers passed by index in grid fetching url
- Interactivity only specified in layergroup config
- Encode cache_buster as part of the token
2013-04-15 18:51:28 +02:00
Sandro Santilli
78a6f4de1b
Keep a counter of layergroup created per user.
...
The counter is in redis db 5, in a field "mapviews" of an hash
"tiler:users:USERNAME". It's incremented whenever the layergroup
token for a configuration is requested.
2013-04-12 17:28:34 +02:00
Sandro Santilli
83e6e0d457
More verbose logging for SQL api connection errors
2013-04-09 18:07:53 +02:00
Sandro Santilli
e5af3b90f4
Revert "Require interactivity param in single-layer grid fetching request"
...
This reverts commit 3383c44eb7
.
Fixes regression with default interactivity parameter.
Closes #74 . See #69 .
2013-04-05 18:11:36 +02:00
Sandro Santilli
113b70cf98
Add support for creating layergroups via GET
2013-04-02 13:30:49 +02:00
Sandro Santilli
3383c44eb7
Require interactivity param in single-layer grid fetching request
...
Closes #69
2013-03-29 18:25:28 +01:00
Sandro Santilli
001bf97d69
Add support for LZMA compressed GET parameters
...
You can now replace the whole query string with a single `lzma`
parameter having as value an hex encoded LZMA compressed version
of the whole query string as a JSON object.
2013-03-22 18:55:59 +01:00
javi
e53122de7e
fixed last_update in laytergroup response
2013-03-21 11:39:55 +01:00
Sandro Santilli
3ff3dc2c97
Cleanup, handle error in req2param on flushCache
2013-03-15 19:25:13 +01:00
Sandro Santilli
4605bd1e1d
Add last_modified field to POST layergroup response ( #72 )
...
Includes testcases
2013-03-13 18:41:37 +01:00
Sandro Santilli
dfc4a02398
Fix X-Cache-Channel for multilayer (by token) responses
...
Required upgrading Windshaft to 0.9.2
Includes testcases
2013-03-13 16:45:15 +01:00
Sandro Santilli
402fc90e63
Absence of X-Cache-Channel will be enough for Varnish to skip caching
...
Do not override Cache-Control in this case, which means let the
clients or geographical proxies cache the response with usual TTL.
2013-03-13 12:01:35 +01:00
Sandro Santilli
e8cbc666e2
Handle SQL API errors by logging them and requesting NO cache
...
SQL api is used to determine the list of source tables affected
by a query. Before this commit, the X-Cache-Channel header set
on sql api error was an arbitrary 'table' string, now the header
is omitted, the error logged and Cache-Control and Pragma headers
are sent as an attempt to request no caching.
The code includes test for this mechanism.
2013-03-13 10:39:00 +01:00
Sandro Santilli
f6d50fafb1
Expose renderer settings in the environment config files
...
These are: metatile, bufferSize and cache_ttl
2013-02-25 17:05:59 +01:00
Sandro Santilli
9dcf6a1acf
Set 'base_url_notable' config for Windshaft-0.9 (multilayer)
2013-02-12 18:53:41 +01:00
Sandro Santilli
a79b999e7a
Do not try to send commands to an unoconnected redis client
...
This changes "Cannot read property 'HGET' of null" messages into
"Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED".
2013-02-11 15:05:23 +01:00
Sandro Santilli
6b71cde56e
Do not throw an Error embedding another Error
...
Should fix #68 , but doesn't come with an automated test
2013-02-08 12:27:49 +01:00
Sandro Santilli
cb57dfb27d
Fix async throws in getGeometryType, getInfoWindow and getMapMetadata
2013-02-08 12:14:53 +01:00
Sandro Santilli
8d4f033a56
Revert "getDatabase: properly handle redis connection failures"
...
This reverts commit dd19d74149
.
The code was already correct
2013-01-28 17:39:50 +01:00
Sandro Santilli
dd19d74149
getDatabase: properly handle redis connection failures
2013-01-28 17:30:58 +01:00
Sandro Santilli
ac49abe750
Do not leak redis client connections on redis command error
2013-01-28 17:13:49 +01:00
Sandro Santilli
b130b67f24
Check redis connection at pool creation time
2013-01-28 17:12:21 +01:00
Sandro Santilli
19436a8b14
Let "style_convert" pass by, add tests for GET and POST with it
2012-11-14 15:28:58 +01:00
Sandro Santilli
52303e7821
Fix use of "style_version" with GET (inline styles)
...
It took a lot of time to produce a testcase for this as the test
config was setting srid to 4326 but not changing geom column name
thus all tiles fetched by tests returned blank (ouch!)
2012-11-06 12:45:04 +01:00
Sandro Santilli
2bc09a61cf
Add support for cache_policy=persistent
...
When cache_policy=persistent is given the response will contain
a Cache-Control header requesting for 1 year lifetime caching
2012-10-24 09:40:05 +02:00
Sandro Santilli
d9e6aeb254
Fix crash on unknown user. Closes #55 .
2012-10-22 15:30:16 +02:00
Sandro Santilli
ab8cb5bbb3
Add Windshaft-cartodb version to the /version route
2012-10-15 17:03:57 +02:00
Sandro Santilli
20dca2e8f8
Use windshaft-0.6.2 sendError function to send non-200 responses
...
Ensures all errors are logged
2012-10-11 16:48:41 +02:00
Sandro Santilli
6a1933bed9
Print a warning when configured mapnik version doesn't match installed
2012-10-09 11:45:57 +02:00
Sandro Santilli
961269fa1f
Autodetect target mapnik version and let config override it
...
Closes #40
2012-10-08 17:45:03 +02:00
Sandro Santilli
8a759babf0
Add tests for getting metadata ( #183 )
...
... and fix forbidden metadata response
2012-10-05 17:08:24 +02:00
Sandro Santilli
7196c8c285
Only invalidate cache on del style when caching is enabled
2012-10-05 16:55:58 +02:00
Sandro Santilli
dc9286b610
Accept "api_key" as "map_key", in both query_string and POST body
...
Closes #38
2012-10-05 16:17:49 +02:00
Sandro Santilli
1ed65544e5
Send detailed error when user metadata are missing from redis
...
Include tip on how to restore the redis db from cartodb.
2012-10-05 16:05:32 +02:00
Sandro Santilli
a201888fde
Make logging format configurable ( closes #4 )
...
NOTE: the default format for the "test" environment is without
ansi colors, to be easier on remote terminal sessions
2012-10-05 15:52:51 +02:00
Sandro Santilli
bc506784ca
Add an X-Cache-Channel header to all GET requests. Closes #53 .
2012-09-25 09:27:03 +02:00
Sandro Santilli
dd34fc507a
Automated localization of external resources referenced in carto
2012-09-19 18:52:13 +02:00
Sandro Santilli
dcbe051654
Return 401 status for unauthorized requests (see #48 )
2012-09-05 20:16:55 +02:00
Sandro Santilli
b469d5eabf
Rename authenticated postgresql user configuration setting
...
See issue #49
2012-09-05 15:49:10 +02:00
Sandro Santilli
5ca84d9ffc
Always replace the database user parameter in the XML style
...
This provides for an automatic migration of styles to any new
authentication user.
2012-09-05 15:41:22 +02:00
Sandro Santilli
87b0e07815
Expose Varnish cache TTL in configuration. Closes #46
2012-09-03 18:57:35 +02:00
Sandro Santilli
b9e29938e2
Compile XML processing regular expression only once.
...
Requests per second from ~95 to ~98 with a "standard" test.
2012-09-03 15:30:31 +02:00
Sandro Santilli
1c9f63c901
Add XML processor to change database user when authenticated
2012-09-03 14:54:23 +02:00
Sandro Santilli
9ba80acab7
Properly bubble getInfowindow errors up to response
2012-08-14 20:01:05 +02:00
Sandro Santilli
b30c8d9a98
Send jsQuery ready error message on GET /infowindow errors
2012-08-14 20:00:26 +02:00
Sandro Santilli
ca47fbd10b
Fix unauthenticated access to table styles. Closes #43 .
...
Re-introduces use of the redis "privacy" hash key as an additional
security measure for requests that do not involve PostgreSQL access.
Accessing private table styles is tested with this commit.
Accessing private table metadata or infowindow is _not_ tested,
but should also be fixed now.
2012-08-14 19:26:40 +02:00
Sandro Santilli
fb3f3a312e
Really fix setting or deleting styles from unauth. request
...
Closes #44
2012-08-14 16:15:41 +02:00
Sandro Santilli
b5348db94c
Add CORS headers to all requests
...
In addition to the ones served by the base Windshaft server this commit
adds CORS headers to the GET /infowindow, GET /map_metadata and
DEL /flush_cache requests. Closes issue #42 .
2012-08-14 14:50:18 +02:00
Sandro Santilli
282ac94e29
Prevent unauthenticated requests from changing map styles
2012-08-07 17:10:15 +02:00
Sandro Santilli
6a92fd3170
Propagate style changes to caches for unauthenticated requests
...
Closes #41 , does it implementing the new afterStyleChange and
afterStyleDelete callbacks in Windshaft 0.4.10.
Adds automated testcases for the bug.
2012-08-07 16:11:49 +02:00
Sandro Santilli
651c45bc16
Use the correct redis variable for checking map key ( closes #39 )
...
Includes testcase
2012-08-02 11:15:01 +02:00
Sandro Santilli
de275bfc50
Delegate user permission to PostgreSQL ( closes #18 )
...
If the request is authenticated (with map_key) then we log as the
database owner, otherwise we log as the default user.
The default user is now "publicuser" by default.
Raises dependency on Windshaft to 0.4.9+, to get the grainstore
version allowing override of database username.
Add test for req2params function, particularly authentication,
Add test for authenticated / unauthenticated access
2012-07-18 11:09:17 +02:00
Sandro Santilli
15162e8c38
Use global environment settings in carto_data ( closes #27 )
2012-07-09 19:33:17 +02:00
Simon Tokumine
98e5bab8e4
commenting and removal of bogus config. also disable cache in test environment
2012-06-06 15:24:44 +01:00
Simon Tokumine
a382b9f601
check for nulls.
2012-05-08 10:52:58 +01:00
Simon Tokumine
ac7593a743
check for nulls. out
2012-05-08 10:51:51 +01:00
Simon Tokumine
13b66c4e38
check for nulls
2012-05-08 10:38:01 +01:00
Simon Tokumine
4078098c3f
enable cache clearing at table level granularity
2012-05-02 19:32:54 +01:00
Simon Tokumine
d1226992c3
clean up environment settings
2012-05-01 19:00:14 +01:00
Simon Tokumine
dcea209ca5
update log format
2011-12-14 00:56:10 +00:00
Simon Tokumine
ef15f4b48b
migrated to node-varnish, fixed tests, refactor
2011-12-12 18:02:10 +00:00
Simon Tokumine
e810747a21
Merge branch 'master' of github.com:Vizzuality/Windshaft-cartodb
2011-12-09 00:32:41 +00:00
Simon Tokumine
78d415569d
pin to mapnik 2.0, enable passing style via url
2011-12-09 00:32:32 +00:00
javi
b53bcceb6d
lovely fixes
2011-12-07 13:06:23 +01:00
javi
5084e69aff
added varnish tests
2011-12-07 11:54:24 +01:00
Simon Tokumine
5fbd3a376e
cache age of 60 mins
2011-12-06 21:46:17 +00:00
Simon Tokumine
1bb5824cf7
spelling:
2011-12-06 21:21:19 +00:00
javi
2f9987beb8
Merged
2011-12-06 19:05:39 +01:00
Simon Tokumine
473a2d55a5
reinstate 304
2011-12-06 17:13:56 +00:00
Simon Tokumine
6d05c83631
add readycallback to reconnect
2011-12-06 16:39:21 +00:00
Simon Tokumine
74cd176eb5
reconnect if varnish is down
2011-12-06 16:32:23 +00:00
Simon Tokumine
37cf676063
set last modified and cache control for varnish
2011-12-06 01:46:02 +00:00
javi
e7784c9a65
manage reconnections
2011-12-05 18:28:37 +01:00
javi
db55c08be1
some varnish sanity checks
2011-12-05 15:50:47 +01:00
javi santana
f4f7f6300d
fixed log
2011-11-30 20:00:41 +01:00
javi santana
8474425375
added varnish invalidation code
2011-11-30 19:59:28 +01:00
javi santana
54df010694
removed old cache code
2011-11-30 19:57:26 +01:00
javi
cb69faffc0
added X-Cache-Channel header so the tile cache could be invalidated using that key
...
for the moment we're using the database name as
cache key, it is not the best solution because all
the tiles for that database will be invalidated
when a change is done in any table. Doing this we
avoid getting wrong data when user gets tiles which
come from a query with joins.
2011-11-29 21:19:10 +01:00
Simon Tokumine
5cdadd863e
mapkey checks a set, not a singular
2011-11-22 03:46:59 +00:00
Simon Tokumine
4347589826
update status codes
2011-11-21 22:29:35 +00:00
Simon Tokumine
431d4f867b
explicitly set http status for 304
2011-10-27 15:11:51 +01:00
Simon Tokumine
7b40749d96
osx is not case sensitive, linux is
2011-10-27 13:15:02 +01:00
javi
102e17363f
added ttl_settings
2011-10-21 17:42:57 +02:00
javi
e5da826b94
fixed lru cache
2011-10-21 17:41:41 +02:00
javi
9c5718a427
ttl options and tests
2011-10-21 16:52:07 +02:00
javi
f0b8c29b03
added ttl
2011-10-21 16:33:35 +02:00
javi
87b04ce80a
added last-modified header to tiler
2011-10-20 18:52:11 +02:00
javi
91d3bc66c8
trying to avoid precision problems with small time measures
2011-10-20 16:46:39 +02:00
javi santana
b4a0732120
added more cache stats
2011-10-13 16:20:29 +02:00
javi santana
ab808b1dcb
set cache settings in enviorments
2011-10-13 15:22:54 +02:00
javi santana
c1ba45cf5a
included LRU cache with redis invalidation
2011-10-13 13:17:00 +02:00
Simon Tokumine
de8508ed57
add map metadata enpoind and move all responsiblity for infowindow and metadata to here
2011-10-07 15:38:28 +01:00
Simon Tokumine
2e1b36a1a4
configure tileuser and mapkey security
2011-09-21 16:33:25 -04:00
Simon Tokumine
306eb7aaf2
enable cors and bump version used
2011-09-19 21:27:23 -04:00
Simon Tokumine
0b5a799ac8
remove defaults and bump windshaft version
2011-09-14 00:17:02 -06:00
Simon Tokumine
4dd105cfb7
add multipoly styles
2011-09-13 23:58:08 -06:00
Simon Tokumine
c509cc0b6b
add multipoly styles
2011-09-13 23:52:59 -06:00
Simon Tokumine
3d3ea9902e
updated production settings
2011-09-13 21:51:51 -06:00
Simon Tokumine
5db227c26f
update readme and make interactivity settable
2011-09-05 00:17:39 +01:00
Simon Tokumine
431fb56ad2
windshaft for cartodb
2011-09-05 00:00:41 +01:00