public interface RateLimitOrBuilder
extends com.google.protobuf.MessageOrBuilder
| Modifier and Type | Method and Description |
|---|---|
boolean |
getDisableXEnvoyRatelimitedHeader()
Disables emitting the :ref:`x-envoy-ratelimited<config_http_filters_router_x-envoy-ratelimited>` header
in case of rate limiting (i.e. 429 responses).
|
String |
getDomain()
The rate limit domain to use when calling the rate limit service.
|
com.google.protobuf.ByteString |
getDomainBytes()
The rate limit domain to use when calling the rate limit service.
|
RateLimit.XRateLimitHeadersRFCVersion |
getEnableXRatelimitHeaders()
Defines the standard version to use for X-RateLimit headers emitted by the filter:
* ``X-RateLimit-Limit`` - indicates the request-quota associated to the
client in the current time-window followed by the description of the
quota policy.
|
int |
getEnableXRatelimitHeadersValue()
Defines the standard version to use for X-RateLimit headers emitted by the filter:
* ``X-RateLimit-Limit`` - indicates the request-quota associated to the
client in the current time-window followed by the description of the
quota policy.
|
boolean |
getFailureModeDeny()
The filter's behaviour in case the rate limiting service does
not respond back.
|
boolean |
getRateLimitedAsResourceExhausted()
Specifies whether a `RESOURCE_EXHAUSTED` gRPC code must be returned instead
of the default `UNAVAILABLE` gRPC code for a rate limited gRPC call.
|
RateLimitServiceConfig |
getRateLimitService()
Configuration for an external rate limit service provider.
|
RateLimitServiceConfigOrBuilder |
getRateLimitServiceOrBuilder()
Configuration for an external rate limit service provider.
|
String |
getRequestType()
The type of requests the filter should apply to.
|
com.google.protobuf.ByteString |
getRequestTypeBytes()
The type of requests the filter should apply to.
|
int |
getStage()
Specifies the rate limit configurations to be applied with the same
stage number.
|
com.google.protobuf.Duration |
getTimeout()
The timeout in milliseconds for the rate limit service RPC.
|
com.google.protobuf.DurationOrBuilder |
getTimeoutOrBuilder()
The timeout in milliseconds for the rate limit service RPC.
|
boolean |
hasRateLimitService()
Configuration for an external rate limit service provider.
|
boolean |
hasTimeout()
The timeout in milliseconds for the rate limit service RPC.
|
findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneofString getDomain()
The rate limit domain to use when calling the rate limit service.
string domain = 1 [(.validate.rules) = { ... }com.google.protobuf.ByteString getDomainBytes()
The rate limit domain to use when calling the rate limit service.
string domain = 1 [(.validate.rules) = { ... }int getStage()
Specifies the rate limit configurations to be applied with the same stage number. If not set, the default stage number is 0. .. note:: The filter supports a range of 0 - 10 inclusively for stage numbers.
uint32 stage = 2 [(.validate.rules) = { ... }String getRequestType()
The type of requests the filter should apply to. The supported types are *internal*, *external* or *both*. A request is considered internal if :ref:`x-envoy-internal<config_http_conn_man_headers_x-envoy-internal>` is set to true. If :ref:`x-envoy-internal<config_http_conn_man_headers_x-envoy-internal>` is not set or false, a request is considered external. The filter defaults to *both*, and it will apply to all request types.
string request_type = 3 [(.validate.rules) = { ... }com.google.protobuf.ByteString getRequestTypeBytes()
The type of requests the filter should apply to. The supported types are *internal*, *external* or *both*. A request is considered internal if :ref:`x-envoy-internal<config_http_conn_man_headers_x-envoy-internal>` is set to true. If :ref:`x-envoy-internal<config_http_conn_man_headers_x-envoy-internal>` is not set or false, a request is considered external. The filter defaults to *both*, and it will apply to all request types.
string request_type = 3 [(.validate.rules) = { ... }boolean hasTimeout()
The timeout in milliseconds for the rate limit service RPC. If not set, this defaults to 20ms.
.google.protobuf.Duration timeout = 4;com.google.protobuf.Duration getTimeout()
The timeout in milliseconds for the rate limit service RPC. If not set, this defaults to 20ms.
.google.protobuf.Duration timeout = 4;com.google.protobuf.DurationOrBuilder getTimeoutOrBuilder()
The timeout in milliseconds for the rate limit service RPC. If not set, this defaults to 20ms.
.google.protobuf.Duration timeout = 4;boolean getFailureModeDeny()
The filter's behaviour in case the rate limiting service does not respond back. When it is set to true, Envoy will not allow traffic in case of communication failure between rate limiting service and the proxy.
bool failure_mode_deny = 5;boolean getRateLimitedAsResourceExhausted()
Specifies whether a `RESOURCE_EXHAUSTED` gRPC code must be returned instead of the default `UNAVAILABLE` gRPC code for a rate limited gRPC call. The HTTP code will be 200 for a gRPC response.
bool rate_limited_as_resource_exhausted = 6;boolean hasRateLimitService()
Configuration for an external rate limit service provider. If not specified, any calls to the rate limit service will immediately return success.
.envoy.config.ratelimit.v4alpha.RateLimitServiceConfig rate_limit_service = 7 [(.validate.rules) = { ... }RateLimitServiceConfig getRateLimitService()
Configuration for an external rate limit service provider. If not specified, any calls to the rate limit service will immediately return success.
.envoy.config.ratelimit.v4alpha.RateLimitServiceConfig rate_limit_service = 7 [(.validate.rules) = { ... }RateLimitServiceConfigOrBuilder getRateLimitServiceOrBuilder()
Configuration for an external rate limit service provider. If not specified, any calls to the rate limit service will immediately return success.
.envoy.config.ratelimit.v4alpha.RateLimitServiceConfig rate_limit_service = 7 [(.validate.rules) = { ... }int getEnableXRatelimitHeadersValue()
Defines the standard version to use for X-RateLimit headers emitted by the filter: * ``X-RateLimit-Limit`` - indicates the request-quota associated to the client in the current time-window followed by the description of the quota policy. The values are returned by the rate limiting service in :ref:`current_limit<envoy_v3_api_field_service.ratelimit.v3.RateLimitResponse.DescriptorStatus.current_limit>` field. Example: `10, 10;w=1;name="per-ip", 1000;w=3600`. * ``X-RateLimit-Remaining`` - indicates the remaining requests in the current time-window. The values are returned by the rate limiting service in :ref:`limit_remaining<envoy_v3_api_field_service.ratelimit.v3.RateLimitResponse.DescriptorStatus.limit_remaining>` field. * ``X-RateLimit-Reset`` - indicates the number of seconds until reset of the current time-window. The values are returned by the rate limiting service in :ref:`duration_until_reset<envoy_v3_api_field_service.ratelimit.v3.RateLimitResponse.DescriptorStatus.duration_until_reset>` field. In case rate limiting policy specifies more then one time window, the values above represent the window that is closest to reaching its limit. For more information about the headers specification see selected version of the `draft RFC <https://tools.ietf.org/id/draft-polli-ratelimit-headers-03.html>`_. Disabled by default.
.envoy.extensions.filters.http.ratelimit.v4alpha.RateLimit.XRateLimitHeadersRFCVersion enable_x_ratelimit_headers = 8 [(.validate.rules) = { ... }RateLimit.XRateLimitHeadersRFCVersion getEnableXRatelimitHeaders()
Defines the standard version to use for X-RateLimit headers emitted by the filter: * ``X-RateLimit-Limit`` - indicates the request-quota associated to the client in the current time-window followed by the description of the quota policy. The values are returned by the rate limiting service in :ref:`current_limit<envoy_v3_api_field_service.ratelimit.v3.RateLimitResponse.DescriptorStatus.current_limit>` field. Example: `10, 10;w=1;name="per-ip", 1000;w=3600`. * ``X-RateLimit-Remaining`` - indicates the remaining requests in the current time-window. The values are returned by the rate limiting service in :ref:`limit_remaining<envoy_v3_api_field_service.ratelimit.v3.RateLimitResponse.DescriptorStatus.limit_remaining>` field. * ``X-RateLimit-Reset`` - indicates the number of seconds until reset of the current time-window. The values are returned by the rate limiting service in :ref:`duration_until_reset<envoy_v3_api_field_service.ratelimit.v3.RateLimitResponse.DescriptorStatus.duration_until_reset>` field. In case rate limiting policy specifies more then one time window, the values above represent the window that is closest to reaching its limit. For more information about the headers specification see selected version of the `draft RFC <https://tools.ietf.org/id/draft-polli-ratelimit-headers-03.html>`_. Disabled by default.
.envoy.extensions.filters.http.ratelimit.v4alpha.RateLimit.XRateLimitHeadersRFCVersion enable_x_ratelimit_headers = 8 [(.validate.rules) = { ... }boolean getDisableXEnvoyRatelimitedHeader()
Disables emitting the :ref:`x-envoy-ratelimited<config_http_filters_router_x-envoy-ratelimited>` header in case of rate limiting (i.e. 429 responses). Having this header not present potentially makes the request retriable.
bool disable_x_envoy_ratelimited_header = 9;Copyright © 2018–2021 The Envoy Project. All rights reserved.