Package org.codelibs.fess.filter
Class RateLimitFilter
java.lang.Object
org.codelibs.fess.filter.RateLimitFilter
- All Implemented Interfaces:
jakarta.servlet.Filter
Filter for rate limiting to protect against bot attacks and excessive requests.
Tracks request counts per IP address and blocks excessive requests based on configurable thresholds.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddoFilter(jakarta.servlet.ServletRequest request, jakarta.servlet.ServletResponse response, jakarta.servlet.FilterChain chain) protected voidsendBlockedResponse(jakarta.servlet.http.HttpServletResponse response) Send a 403 Forbidden response for blocked IPs.protected voidsendRateLimitResponse(jakarta.servlet.http.HttpServletResponse response, int retryAfterSeconds) Send a 429 Too Many Requests response.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface jakarta.servlet.Filter
destroy, init
-
Constructor Details
-
RateLimitFilter
public RateLimitFilter()Creates a new instance of RateLimitFilter.
-
-
Method Details
-
doFilter
public void doFilter(jakarta.servlet.ServletRequest request, jakarta.servlet.ServletResponse response, jakarta.servlet.FilterChain chain) throws IOException, jakarta.servlet.ServletException - Specified by:
doFilterin interfacejakarta.servlet.Filter- Throws:
IOExceptionjakarta.servlet.ServletException
-
sendBlockedResponse
protected void sendBlockedResponse(jakarta.servlet.http.HttpServletResponse response) throws IOException Send a 403 Forbidden response for blocked IPs.- Parameters:
response- the HTTP response- Throws:
IOException- if an I/O error occurs
-
sendRateLimitResponse
protected void sendRateLimitResponse(jakarta.servlet.http.HttpServletResponse response, int retryAfterSeconds) throws IOException Send a 429 Too Many Requests response.- Parameters:
response- the HTTP responseretryAfterSeconds- the Retry-After header value- Throws:
IOException- if an I/O error occurs
-