Limit
class Limit (View source)
Properties
| mixed | $key | The rate limit signature key. |
|
| int | $maxAttempts | The maximum number of attempts allowed within the given number of seconds. |
|
| int | $decaySeconds | The number of seconds until the rate limit is reset. |
|
| ?callable | $afterCallback | The after callback used to determine if the limiter should be hit. |
|
| callable | $responseCallback | The response generator callback. |
Methods
Create a new limit instance.
Create a new rate limit using minutes as decay time.
Create a new rate limit using hours as decay time.
Create a new rate limit using days as decay time.
Set the key of the rate limit.
Set the callback to determine if the limiter should be hit.
Set the callback that should generate the response when the limit is exceeded.
Get a potential fallback key for the limit.
Details
__construct(mixed $key = '', int $maxAttempts = 60, int $decaySeconds = 60)
Create a new limit instance.
static Limit
perSecond(int $maxAttempts, int $decaySeconds = 1)
Create a new rate limit.
static Limit
perMinute(int $maxAttempts, int $decayMinutes = 1)
Create a new rate limit.
static Limit
perMinutes(int $decayMinutes, int $maxAttempts)
Create a new rate limit using minutes as decay time.
static Limit
perHour(int $maxAttempts, int $decayHours = 1)
Create a new rate limit using hours as decay time.
static Limit
perDay(int $maxAttempts, int $decayDays = 1)
Create a new rate limit using days as decay time.
static Limit
none()
Create a new unlimited rate limit.
$this
by(mixed $key)
Set the key of the rate limit.
$this
after(callable $callback)
Set the callback to determine if the limiter should be hit.
$this
response(callable $callback)
Set the callback that should generate the response when the limit is exceeded.
string
fallbackKey()
Get a potential fallback key for the limit.