Package org.apache.catalina.util
Interface RateLimiter
-
- All Known Implementing Classes:
FastRateLimiter
public interface RateLimiter
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description void
destroy()
Cleanup no longer needed resources.int
getDuration()
default java.lang.String
getPolicy()
java.lang.String
getPolicyName()
default java.lang.String
getQuota(int requestCount)
Provide the quota header for this rate limit for a given request count within the current time window.int
getRequests()
int
increment(java.lang.String ipAddress)
Increments the number of requests by the given ipAddress in the current time window.void
setDuration(int duration)
Sets the configured duration value in seconds.void
setFilterConfig(FilterConfig filterConfig)
Pass the FilterConfig to configure the filter.void
setPolicyName(java.lang.String name)
Sets the policy name, otherwise an auto-generated name is used.void
setRequests(int requests)
Sets the configured number of requests allowed per time window.
-
-
-
Method Detail
-
getDuration
int getDuration()
- Returns:
- the actual duration of a time window in seconds
-
setDuration
void setDuration(int duration)
Sets the configured duration value in seconds.- Parameters:
duration
- The duration of the time window in seconds
-
getRequests
int getRequests()
- Returns:
- the maximum number of requests allowed per time window
-
setRequests
void setRequests(int requests)
Sets the configured number of requests allowed per time window.- Parameters:
requests
- The number of requests per time window
-
increment
int increment(java.lang.String ipAddress)
Increments the number of requests by the given ipAddress in the current time window.- Parameters:
ipAddress
- the ip address- Returns:
- the new value after incrementing
-
destroy
void destroy()
Cleanup no longer needed resources.
-
setFilterConfig
void setFilterConfig(FilterConfig filterConfig)
Pass the FilterConfig to configure the filter.- Parameters:
filterConfig
- The FilterConfig used to configure the associated filter
-
getPolicyName
java.lang.String getPolicyName()
- Returns:
- name of RateLimit policy
-
setPolicyName
void setPolicyName(java.lang.String name)
Sets the policy name, otherwise an auto-generated name is used.- Parameters:
name
- of rate limit policy
-
getPolicy
default java.lang.String getPolicy()
- Returns:
- full representation of current policy
- See Also:
- RateLimit header fields for HTTP (draft)
-
getQuota
default java.lang.String getQuota(int requestCount)
Provide the quota header for this rate limit for a given request count within the current time window.- Parameters:
requestCount
- The request count within the current time window- Returns:
- the quota header for the given value of request count
- See Also:
- RateLimit header fields for HTTP (draft)
-
-