Class TokenBucketThrottlingStrategyBuilder<T extends Request>
java.lang.Object
com.linecorp.armeria.server.throttling.bucket4j.TokenBucketThrottlingStrategyBuilder<T>
public final class TokenBucketThrottlingStrategyBuilder<T extends Request> extends Object
Builds
TokenBucketThrottlingStrategy
.-
Method Summary
Modifier and Type Method Description TokenBucketThrottlingStrategy<T>
build()
Returns a newly-createdTokenBucketThrottlingStrategy
based on the properties of this builder.TokenBucketThrottlingStrategyBuilder<T>
name(String name)
Optional name of the strategy.TokenBucketThrottlingStrategyBuilder<T>
withHeadersScheme(ThrottlingHeaders headersScheme)
OptionalThrottlingHeaders
to define specific RateLimit Header Scheme for HTTP.TokenBucketThrottlingStrategyBuilder<T>
withHeadersScheme(ThrottlingHeaders headersScheme, boolean sendQuota)
OptionalThrottlingHeaders
to define specific RateLimit Header Scheme for HTTP.TokenBucketThrottlingStrategyBuilder<T>
withMinimumBackoff(Duration minimumBackoff)
OptionalDuration
that defines a minimum backoff period for throttled requests.
-
Method Details
-
name
Optional name of the strategy. By default, it will be assigned with a predefined name. -
withMinimumBackoff
OptionalDuration
that defines a minimum backoff period for throttled requests. By default, it will be set to 0 seconds. -
withHeadersScheme
public TokenBucketThrottlingStrategyBuilder<T> withHeadersScheme(ThrottlingHeaders headersScheme, boolean sendQuota)OptionalThrottlingHeaders
to define specific RateLimit Header Scheme for HTTP. By default, no specialized throttling headers will be used. The strategy will only use standard HTTPRetry-After
header.- Parameters:
headersScheme
- defines specific RateLimit Header Scheme for HTTP.sendQuota
- indicates whether to use quota header for the scheme, likeX-RateLimit-Limit
.
-
withHeadersScheme
OptionalThrottlingHeaders
to define specific RateLimit Header Scheme for HTTP. By default, no throttling headers will be used. The strategy will only use standard HTTPRetry-After
header.- Parameters:
headersScheme
- defines specific RateLimit Header Scheme for HTTP. By default, the quota header will not be used for the scheme.
-
build
Returns a newly-createdTokenBucketThrottlingStrategy
based on the properties of this builder.
-