Class ErrorRequestLimiter


  • class ErrorRequestLimiter
    extends RequestLimiter
    Limit the maximum number of request per IP address for a given time range.
    • Constructor Detail

      • ErrorRequestLimiter

        ErrorRequestLimiter​(int requestLimit,
                            int requestLimitPeriodInSeconds)
        Parameters:
        requestLimit - the maximum number of request per requestLimitPeriodInSeconds
        requestLimitPeriodInSeconds - the time period over which requests are considered, in seconds
    • Method Detail

      • wouldAccessBeOkay

        boolean wouldAccessBeOkay​(java.lang.String ipAddress,
                                  java.util.Map<java.lang.String,​java.lang.String> parameters,
                                  java.util.Map<java.lang.String,​java.util.List<java.lang.String>> httpHeader)
        Parameters:
        ipAddress - the client's IP address
        Returns:
        true if access is allowed because the request limit is not reached yet
      • logAccess

        void logAccess​(java.lang.String ipAddress,
                       java.util.Map<java.lang.String,​java.util.List<java.lang.String>> httpHeader,
                       java.util.Map<java.lang.String,​java.lang.String> params)
        Parameters:
        ipAddress - the client's IP address
        params - the request's query parameters