pub struct RateLimiter {
pub name: Option<String>,
pub uri_dictionary_name: Option<String>,
pub http_methods: Option<HashSet<HttpMethods>>,
pub rps_limit: Option<i32>,
pub window_size: Option<WindowSize>,
pub client_key: Option<Vec<String>>,
pub penalty_box_duration: Option<i32>,
pub action: Option<Action>,
pub response: Option<HashMap<String, String>>,
pub response_object_name: Option<String>,
pub logger_type: Option<LoggerType>,
pub feature_revision: Option<i32>,
}
Fields§
§name: Option<String>
A human readable name for the rate limiting rule.
uri_dictionary_name: Option<String>
The name of a Dictionary containing URIs as keys. If not defined or null
, all origin URIs will be rate limited.
http_methods: Option<HashSet<HttpMethods>>
Array of HTTP methods to apply rate limiting to.
rps_limit: Option<i32>
Upper limit of requests per second allowed by the rate limiter.
window_size: Option<WindowSize>
Number of seconds during which the RPS limit must be exceeded in order to trigger a violation.
client_key: Option<Vec<String>>
Array of VCL variables used to generate a counter key to identify a client. Example variables include req.http.Fastly-Client-IP
, req.http.User-Agent
, or a custom header like req.http.API-Key
.
penalty_box_duration: Option<i32>
Length of time in minutes that the rate limiter is in effect after the initial violation is detected.
action: Option<Action>
The action to take when a rate limiter violation is detected.
response: Option<HashMap<String, String>>
Custom response to be sent when the rate limit is exceeded. Required if action
is response
.
response_object_name: Option<String>
Name of existing response object. Required if action
is response_object
. Note that the rate limiter response is only updated to reflect the response object content when saving the rate limiter configuration.
logger_type: Option<LoggerType>
Name of the type of logging endpoint to be used when action is log_only
. The logging endpoint type is used to determine the appropriate log format to use when emitting log entries.
feature_revision: Option<i32>
Revision number of the rate limiting feature implementation. Defaults to the most recent revision.
Implementations§
Source§impl RateLimiter
impl RateLimiter
pub fn new() -> RateLimiter
Trait Implementations§
Source§impl Clone for RateLimiter
impl Clone for RateLimiter
Source§fn clone(&self) -> RateLimiter
fn clone(&self) -> RateLimiter
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more