RateLimiter
class RateLimiter
Properties
protected Repository | $cache | The cache store implementation. |
Methods
Determine if the given key has been "accessed" too many times.
Add the lockout key to the cache.
Increment the counter for a given key for a given decay time.
Get the number of attempts for the given key.
Reset the number of attempts for the given key.
Get the number of retries left for the given key.
Clear the hits and lockout for the given key.
Get the number of seconds until the "key" is accessible again.
Details
at line 23
void
__construct(Repository $cache)
Create a new rate limiter instance.
at line 36
bool
tooManyAttempts(string $key, int $maxAttempts, float|int $decayMinutes = 1)
Determine if the given key has been "accessed" too many times.
at line 60
protected void
lockout(string $key, int $decayMinutes)
Add the lockout key to the cache.
at line 74
int
hit(string $key, float|int $decayMinutes = 1)
Increment the counter for a given key for a given decay time.
at line 93
mixed
attempts(string $key)
Get the number of attempts for the given key.
at line 104
mixed
resetAttempts(string $key)
Reset the number of attempts for the given key.
at line 116
int
retriesLeft(string $key, int $maxAttempts)
Get the number of retries left for the given key.
at line 129
void
clear(string $key)
Clear the hits and lockout for the given key.
at line 142
int
availableIn(string $key)
Get the number of seconds until the "key" is accessible again.