changing endpoint groups constant keys

This commit is contained in:
Simon Martín
2018-02-27 17:57:25 +01:00
parent a492ab0143
commit 254991c56c
6 changed files with 39 additions and 39 deletions
+11 -11
View File
@@ -64,7 +64,7 @@ LayergroupController.prototype.register = function(app) {
app.base_url_mapconfig + '/:token/:z/:x/:y@:scale_factor?x.:format',
cors(),
userMiddleware,
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ENDPOINT_8),
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.TILE),
this.prepareContext,
this.tile.bind(this),
vectorError()
@@ -74,7 +74,7 @@ LayergroupController.prototype.register = function(app) {
app.base_url_mapconfig + '/:token/:z/:x/:y.:format',
cors(),
userMiddleware,
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ENDPOINT_8),
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.TILE),
this.prepareContext,
this.tile.bind(this),
vectorError()
@@ -84,7 +84,7 @@ LayergroupController.prototype.register = function(app) {
app.base_url_mapconfig + '/:token/:layer/:z/:x/:y.(:format)',
cors(),
userMiddleware,
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ENDPOINT_8),
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.TILE),
validateLayerRouteMiddleware,
this.prepareContext,
this.layer.bind(this),
@@ -95,7 +95,7 @@ LayergroupController.prototype.register = function(app) {
app.base_url_mapconfig + '/:token/:layer/attributes/:fid',
cors(),
userMiddleware,
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ENDPOINT_9),
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ATTRIBUTES),
this.prepareContext,
this.attributes.bind(this)
);
@@ -104,7 +104,7 @@ LayergroupController.prototype.register = function(app) {
app.base_url_mapconfig + '/static/center/:token/:z/:lat/:lng/:width/:height.:format',
cors(),
userMiddleware,
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ENDPOINT_2),
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.STATIC),
allowQueryParams(['layer']),
this.prepareContext,
this.center.bind(this)
@@ -114,7 +114,7 @@ LayergroupController.prototype.register = function(app) {
app.base_url_mapconfig + '/static/bbox/:token/:west,:south,:east,:north/:width/:height.:format',
cors(),
userMiddleware,
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ENDPOINT_2),
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.STATIC),
allowQueryParams(['layer']),
this.prepareContext,
this.bbox.bind(this)
@@ -142,7 +142,7 @@ LayergroupController.prototype.register = function(app) {
app.base_url_mapconfig + '/:token/dataview/:dataviewName',
cors(),
userMiddleware,
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ENDPOINT_5),
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.DATAVIEW),
allowQueryParams(allowedDataviewQueryParams),
this.prepareContext,
this.dataview.bind(this)
@@ -152,7 +152,7 @@ LayergroupController.prototype.register = function(app) {
app.base_url_mapconfig + '/:token/:layer/widget/:dataviewName',
cors(),
userMiddleware,
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ENDPOINT_5),
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.DATAVIEW),
allowQueryParams(allowedDataviewQueryParams),
this.prepareContext,
this.dataview.bind(this)
@@ -162,7 +162,7 @@ LayergroupController.prototype.register = function(app) {
app.base_url_mapconfig + '/:token/dataview/:dataviewName/search',
cors(),
userMiddleware,
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ENDPOINT_6),
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.DATAVIEW_SEARCH),
allowQueryParams(allowedDataviewQueryParams),
this.prepareContext,
this.dataviewSearch.bind(this)
@@ -172,7 +172,7 @@ LayergroupController.prototype.register = function(app) {
app.base_url_mapconfig + '/:token/:layer/widget/:dataviewName/search',
cors(),
userMiddleware,
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ENDPOINT_6),
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.DATAVIEW_SEARCH),
allowQueryParams(allowedDataviewQueryParams),
this.prepareContext,
this.dataviewSearch.bind(this)
@@ -182,7 +182,7 @@ LayergroupController.prototype.register = function(app) {
app.base_url_mapconfig + '/:token/analysis/node/:nodeId',
cors(),
userMiddleware,
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ENDPOINT_7),
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ANALYSIS),
this.prepareContext,
this.analysisNodeStatus.bind(this)
);
+4 -4
View File
@@ -59,28 +59,28 @@ MapController.prototype.register = function(app) {
base_url_mapconfig,
cors(),
userMiddleware,
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ENDPOINT_1),
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ANONYMOUS),
this.composeCreateMapMiddleware()
);
app.post(
base_url_mapconfig,
cors(),
userMiddleware,
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ENDPOINT_1),
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ANONYMOUS),
this.composeCreateMapMiddleware()
);
app.get(
`${base_url_templated}/:template_id/jsonp`,
cors(),
userMiddleware,
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ENDPOINT_13),
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.NAMED),
this.composeCreateMapMiddleware(useTemplate)
);
app.post(
`${base_url_templated}/:template_id`,
cors(),
userMiddleware,
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ENDPOINT_13),
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.NAMED),
this.composeCreateMapMiddleware(useTemplate)
);
app.options(
+2 -2
View File
@@ -47,7 +47,7 @@ NamedMapsController.prototype.register = function(app) {
app.base_url_templated + '/:template_id/:layer/:z/:x/:y.(:format)',
cors(),
userMiddleware,
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ENDPOINT_17),
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.NAMED_TILES),
this.prepareContext,
this.getNamedMapProvider('NAMED_MAP_TILE'),
this.getAffectedTables(),
@@ -65,7 +65,7 @@ NamedMapsController.prototype.register = function(app) {
app.base_url_mapconfig + '/static/named/:template_id/:width/:height.:format',
cors(),
userMiddleware,
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ENDPOINT_3),
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.STATIC_NAMED),
allowQueryParams(['layer', 'zoom', 'lon', 'lat', 'bbox']),
this.prepareContext,
this.getNamedMapProvider('STATIC_VIZ_MAP'),
+5 -5
View File
@@ -25,7 +25,7 @@ NamedMapsAdminController.prototype.register = function (app) {
`${base_url_templated}/`,
cors(),
userMiddleware,
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ENDPOINT_11),
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.NAMED_CREATE),
this.checkContentType('POST', 'POST TEMPLATE'),
this.authorizedByAPIKey('create', 'POST TEMPLATE'),
this.create()
@@ -35,7 +35,7 @@ NamedMapsAdminController.prototype.register = function (app) {
`${base_url_templated}/:template_id`,
cors(),
userMiddleware,
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ENDPOINT_14),
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.NAMED_UPDATE),
this.checkContentType('PUT', 'PUT TEMPLATE'),
this.authorizedByAPIKey('update', 'PUT TEMPLATE'),
this.update()
@@ -45,7 +45,7 @@ NamedMapsAdminController.prototype.register = function (app) {
`${base_url_templated}/:template_id`,
cors(),
userMiddleware,
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ENDPOINT_12),
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.NAMED_GET),
this.authorizedByAPIKey('get', 'GET TEMPLATE'),
this.retrieve()
);
@@ -54,7 +54,7 @@ NamedMapsAdminController.prototype.register = function (app) {
`${base_url_templated}/:template_id`,
cors(),
userMiddleware,
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ENDPOINT_15),
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.NAMED_DELETE),
this.authorizedByAPIKey('delete', 'DELETE TEMPLATE'),
this.destroy()
);
@@ -63,7 +63,7 @@ NamedMapsAdminController.prototype.register = function (app) {
`${base_url_templated}/`,
cors(),
userMiddleware,
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ENDPOINT_10),
rateLimit(this.metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.NAMED_LIST),
this.authorizedByAPIKey('list', 'GET TEMPLATE LIST'),
this.list()
);
+15 -15
View File
@@ -3,21 +3,21 @@
const REDIS_DB = 8;
const RATE_LIMIT_ENDPOINTS_GROUPS = {
ENDPOINT_1: 'anonymous',
ENDPOINT_2: 'static',
ENDPOINT_3: 'static_named',
ENDPOINT_5: 'dataview',
ENDPOINT_6: 'dataview_search',
ENDPOINT_7: 'analysis',
ENDPOINT_8: 'tile',
ENDPOINT_9: 'attributes',
ENDPOINT_10: 'named_list',
ENDPOINT_11: 'named_create',
ENDPOINT_12: 'named_get',
ENDPOINT_13: 'named',
ENDPOINT_14: 'named_update',
ENDPOINT_15: 'named_delete',
ENDPOINT_17: 'named_tiles'
ANONYMOUS: 'anonymous',
STATIC: 'static',
STATIC_NAMED: 'static_named',
DATAVIEW: 'dataview',
DATAVIEW_SEARCH: 'dataview_search',
ANALYSIS: 'analysis',
TILE: 'tile',
ATTRIBUTES: 'attributes',
NAMED_LIST: 'named_list',
NAMED_CREATE: 'named_create',
NAMED_GET: 'named_get',
NAMED: 'named',
NAMED_UPDATE: 'named_update',
NAMED_DELETE: 'named_delete',
NAMED_TILES: 'named_tiles'
};
function rateLimitFn(metadataBackend, endpointGroup = null) {
+2 -2
View File
@@ -72,7 +72,7 @@ function setLimit(count, period, burst) {
return;
}
const key = getStoreKey(user, RATE_LIMIT_ENDPOINTS_GROUPS.ENDPOINT_1);
const key = getStoreKey(user, RATE_LIMIT_ENDPOINTS_GROUPS.ANONYMOUS);
redisClient.rpush(key, burst);
redisClient.rpush(key, count);
redisClient.rpush(key, period);
@@ -280,7 +280,7 @@ describe('rate limit middleware', function () {
const redisPool = new RedisPool(global.environment.redis);
const metadataBackend = cartodbRedis({ pool: redisPool });
rateLimit = rateLimitMiddleware(metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ENDPOINT_1);
rateLimit = rateLimitMiddleware(metadataBackend, RATE_LIMIT_ENDPOINTS_GROUPS.ANONYMOUS);
redisClient = redis.createClient(global.environment.redis.port);
testClient = new TestClient(createMapConfig(), 1234);