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

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

Details

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

Create a new limit instance.

Parameters

mixed $key
int $maxAttempts
int $decaySeconds

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 Unlimited none()

Create a new unlimited rate limit.

Return Value

Unlimited

$this by(mixed $key)

Set the key of the rate limit.

Parameters

mixed $key

Return Value

$this

$this after(callable $callback)

Set the callback to determine if the limiter should be hit.

Parameters

callable $callback

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

Laravel Cloud is the best place to deploy Laravel, Nuxt, Express, Hono, Node.js, Bun, Go, Flask, Python, and more, with dedicated infrastructure available on AWS through Laravel Private Cloud.