Package filter

Class RateLimitingFilter

java.lang.Object
filter.RateLimitingFilter
All Implemented Interfaces:
javax.servlet.Filter

public class RateLimitingFilter extends Object implements javax.servlet.Filter
Filter that restricts user from making DoS attacks and abuse Limits number of requests using a sliding window
Author:
TAMIL MUGHILAN
  • Field Details

  • Constructor Details

    • RateLimitingFilter

      public RateLimitingFilter()
  • Method Details

    • init

      public void init(javax.servlet.FilterConfig filterConfig)
      Initializes the filter when application starts.
      Specified by:
      init in interface javax.servlet.Filter
      Parameters:
      filterConfig - the filter configuration
    • doFilter

      public void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain) throws IOException, javax.servlet.ServletException
      Processes requests to enforce rate limiting on customers. Blocks requests that exceed the allowed rate limit.
      Specified by:
      doFilter in interface javax.servlet.Filter
      Parameters:
      request - the servlet request
      response - the servlet response
      chain - the filter chain
      Throws:
      IOException - if an I/O error occurs
      javax.servlet.ServletException - if a servlet error occurs
    • isStaticResource

      private boolean isStaticResource(String path)
      Checks if the requested path is a static resource.
      Parameters:
      path - the request path to check
      Returns:
      true if it's a static resource, false otherwise
    • destroy

      public void destroy()
      Cleans up resources when filter is destroyed.
      Specified by:
      destroy in interface javax.servlet.Filter