Unlimited
final class Unlimited extends AdmissionPolicy
Constants
| MAX_INTEGER |
The largest integer represented exactly by every first-party store. |
Methods
Create a new admission policy.
Apply the policy without a named limiter scope.
Set the callback that determines whether the operation should be consumed.
Set the callback that generates a response when the limit is exceeded.
Create a copy with the given shared policy values.
Convert a caller key to its canonical string value.
Validate a positive shared integer.
Multiply positive rate limit values without losing integer precision.
Details
in
AdmissionPolicy at line 24
__construct(string $key = '', int $cost = 1, bool $global = false, Closure|null $afterCallback = null, Closure|null $responseCallback = null)
Create a new admission policy.
in
AdmissionPolicy at line 37
AdmissionPolicy
by(Stringable|UnitEnum|string|int|null $key)
Set the key of the rate limit.
in
AdmissionPolicy at line 51
AdmissionPolicy
cost(int $cost)
Set the capacity consumed by each operation.
in
AdmissionPolicy at line 70
AdmissionPolicy
globally(bool $global = true)
Apply the policy without a named limiter scope.
in
AdmissionPolicy at line 84
AdmissionPolicy
after(callable $callback)
Set the callback that determines whether the operation should be consumed.
in
AdmissionPolicy at line 98
AdmissionPolicy
response(callable $callback)
Set the callback that generates a response when the limit is exceeded.
at line 14
protected AdmissionPolicy
newInstance(string $key, int $cost, bool $global, Closure|null $afterCallback, Closure|null $responseCallback)
Create a copy with the given shared policy values.
in
AdmissionPolicy at line 123
protected string
normalizeKey(Stringable|UnitEnum|string|int|null $key)
Convert a caller key to its canonical string value.
in
AdmissionPolicy at line 135
static protected void
ensurePositive(string $name, int $value)
Validate a positive shared integer.
in
AdmissionPolicy at line 149
static protected int
multiply(int $value, int $multiplier, string $name)
Multiply positive rate limit values without losing integer precision.