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 $responseCallback

The response generator callback.

Methods

void
__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
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.

Details

void __construct(mixed $key = '', int $maxAttempts = 60, int $decaySeconds = 60)

Create a new limit instance.

Parameters

mixed $key
int $maxAttempts
int $decaySeconds

Return Value

void

static Limit perSecond(int $maxAttempts, int $decaySeconds = 1)

Create a new rate limit.

Parameters

int $maxAttempts
int $decaySeconds

Return Value

Limit

static Limit perMinute(int $maxAttempts, int $decayMinutes = 1)

Create a new rate limit.

Parameters

int $maxAttempts
int $decayMinutes

Return Value

Limit

static Limit perMinutes(int $decayMinutes, int $maxAttempts)

Create a new rate limit using minutes as decay time.

Parameters

int $decayMinutes
int $maxAttempts

Return Value

Limit

static Limit perHour(int $maxAttempts, int $decayHours = 1)

Create a new rate limit using hours as decay time.

Parameters

int $maxAttempts
int $decayHours

Return Value

Limit

static Limit perDay(int $maxAttempts, int $decayDays = 1)

Create a new rate limit using days as decay time.

Parameters

int $maxAttempts
int $decayDays

Return Value

Limit

static Limit none()

Create a new unlimited rate limit.

Return Value

Limit

$this by(mixed $key)

Set the key of the rate limit.

Parameters

mixed $key

Return Value

$this

$this response(callable $callback)

Set the callback that should generate the response when the limit is exceeded.

Parameters

callable $callback

Return Value

$this

string fallbackKey()

Get a potential fallback key for the limit.

Return Value

string