public class ESRateLimiterComponent extends Object implements io.apiman.gateway.engine.components.IRateLimiterComponent
| Constructor and Description |
|---|
ESRateLimiterComponent(Map<String,String> config)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
accept(String bucketId,
io.apiman.gateway.engine.rates.RateBucketPeriod period,
int limit,
io.apiman.gateway.engine.async.IAsyncResultHandler<io.apiman.gateway.engine.components.rate.RateLimitResponse> handler) |
org.elasticsearch.client.Client |
getClient() |
protected io.apiman.gateway.engine.rates.RateLimiterBucket |
readBucket(org.elasticsearch.action.get.GetResponse response)
Unmarshal a rate limiter bucket from the information in ES.
|
protected void |
updateBucketAndReturn(String id,
io.apiman.gateway.engine.rates.RateLimiterBucket bucket,
io.apiman.gateway.engine.components.rate.RateLimitResponse rlr,
long version,
String bucketId,
io.apiman.gateway.engine.rates.RateBucketPeriod period,
int limit,
io.apiman.gateway.engine.async.IAsyncResultHandler<io.apiman.gateway.engine.components.rate.RateLimitResponse> handler)
Update the bucket in ES and then return the rate limit response to the
original handler.
|
public void accept(String bucketId, io.apiman.gateway.engine.rates.RateBucketPeriod period, int limit, io.apiman.gateway.engine.async.IAsyncResultHandler<io.apiman.gateway.engine.components.rate.RateLimitResponse> handler)
accept in interface io.apiman.gateway.engine.components.IRateLimiterComponentIRateLimiterComponent.accept(java.lang.String, io.apiman.gateway.engine.rates.RateBucketPeriod, int, io.apiman.gateway.engine.async.IAsyncResultHandler)protected io.apiman.gateway.engine.rates.RateLimiterBucket readBucket(org.elasticsearch.action.get.GetResponse response)
response - protected void updateBucketAndReturn(String id, io.apiman.gateway.engine.rates.RateLimiterBucket bucket, io.apiman.gateway.engine.components.rate.RateLimitResponse rlr, long version, String bucketId, io.apiman.gateway.engine.rates.RateBucketPeriod period, int limit, io.apiman.gateway.engine.async.IAsyncResultHandler<io.apiman.gateway.engine.components.rate.RateLimitResponse> handler)
id - bucket - rlr - version - limit - period - bucketId - handler - public org.elasticsearch.client.Client getClient()
Copyright © 2015 JBoss, a division of Red Hat. All rights reserved.