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

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.