Class IdRateLimitUserLoginService
java.lang.Object
com.io7m.idstore.server.service.ratelimit.IdRateLimitUserLoginService
- All Implemented Interfaces:
IdRateLimiterType,IdRateLimitUserLoginServiceType,com.io7m.repetoir.core.RPServiceType
public final class IdRateLimitUserLoginService
extends Object
implements IdRateLimitUserLoginServiceType
A rate limiting service for logins.
-
Method Summary
Modifier and TypeMethodDescriptioncreate(IdMetricsServiceType metrics, long expiration, TimeUnit timeUnit) Create a rate limit service.booleanisAllowedByRateLimit(String host) toString()waitTime()
-
Method Details
-
create
public static IdRateLimitUserLoginServiceType create(IdMetricsServiceType metrics, long expiration, TimeUnit timeUnit) Create a rate limit service.- Parameters:
metrics- The metrics serviceexpiration- The expiration for tokenstimeUnit- The time unit for expirations- Returns:
- A rate limiter
-
isAllowedByRateLimit
- Specified by:
isAllowedByRateLimitin interfaceIdRateLimitUserLoginServiceType- Parameters:
host- The host performing the action- Returns:
trueif the given operation is allowed by rate limiting
-
description
- Specified by:
descriptionin interfacecom.io7m.repetoir.core.RPServiceType
-
toString
-
waitTime
- Specified by:
waitTimein interfaceIdRateLimiterType- Returns:
- The suggested wait time if a rate limit is exceeded
-