Class BucketFactory
- java.lang.Object
-
- io.apiman.gateway.engine.policies.limiting.BucketFactory
-
public class BucketFactory extends Object
- Author:
- Marc Savy <marc@blackparrotlabs.io>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classBucketFactory.BucketIdBuilderContext
-
Field Summary
Fields Modifier and Type Field Description static StringNO_CLIENT_AVAILABLEstatic StringNO_USER_AVAILABLE
-
Constructor Summary
Constructors Constructor Description BucketFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringbucketId(ApiRequest request, RateLimitingConfig config)Generate rate limiting bucket ID for API RequestStringbucketId(RateLimitingConfig config, BucketFactory.BucketIdBuilderContext context)Creates the ID of the rate bucket to use.StringbucketId(RateLimitingProbeConfig probeConfig, ProbeContext probeContext, RateLimitingConfig config)Generate rate limiting bucket ID for a probe requestRateBucketPeriodgetPeriod(RateLimitingConfig config)Gets the appropriate bucket period from the config.
-
-
-
Field Detail
-
NO_USER_AVAILABLE
public static final String NO_USER_AVAILABLE
- See Also:
- Constant Field Values
-
NO_CLIENT_AVAILABLE
public static final String NO_CLIENT_AVAILABLE
- See Also:
- Constant Field Values
-
-
Method Detail
-
bucketId
public String bucketId(RateLimitingConfig config, BucketFactory.BucketIdBuilderContext context)
Creates the ID of the rate bucket to use. The ID is composed differently depending on the configuration of the policy.
-
getPeriod
public RateBucketPeriod getPeriod(RateLimitingConfig config)
Gets the appropriate bucket period from the config.
-
bucketId
public String bucketId(ApiRequest request, RateLimitingConfig config)
Generate rate limiting bucket ID for API Request
-
bucketId
public String bucketId(RateLimitingProbeConfig probeConfig, ProbeContext probeContext, RateLimitingConfig config)
Generate rate limiting bucket ID for a probe request
-
-