ThrottleRequestsWithRedis
class ThrottleRequestsWithRedis extends ThrottleRequests (View source)
Traits
| InteractsWithTime | 
Properties
| protected RateLimiter | $limiter | The rate limiter instance. | from ThrottleRequests | 
| protected Factory | $redis | The Redis factory implementation. | |
| int | $decaysAt | The timestamp of the end of the current duration. | |
| int | $remaining | The number of remaining slots. | 
Methods
| int |  secondsUntil(DateTimeInterface|DateInterval|int $delay)  Get the number of seconds until the given DateTime.  |  from InteractsWithTime | 
| int |  availableAt(DateTimeInterface|DateInterval|int $delay = 0)  Get the "available at" UNIX timestamp.  |  from InteractsWithTime | 
| DateTimeInterface|int |  parseDateInterval(DateTimeInterface|DateInterval|int $delay)  If the given value is an interval, convert it to a DateTime instance.  |  from InteractsWithTime | 
| int |  currentTime()  Get the current system time as a UNIX timestamp.  |  from InteractsWithTime | 
| void |  __construct(Factory $redis)  Create a new request throttler.  |  |
| Response |  handle(Request $request, Closure $next, int|string $maxAttempts = 60, float|int $decayMinutes = 1, string $prefix = '')  Handle an incoming request.  |  |
| int |  resolveMaxAttempts(Request $request, int|string $maxAttempts)  Resolve the number of attempts if the user is authenticated or not.  |  from ThrottleRequests | 
| string |  resolveRequestSignature(Request $request)  Resolve request signature.  |  from ThrottleRequests | 
| ThrottleRequestsException |  buildException(string $key, int $maxAttempts)  Create a 'too many attempts' exception.  |  from ThrottleRequests | 
| int |  getTimeUntilNextRetry(string $key)  Get the number of seconds until the lock is released.  |  |
| Response |  addHeaders(Response $response, int $maxAttempts, int $remainingAttempts, int|null $retryAfter = null)  Add the limit header information to the given response.  |  from ThrottleRequests | 
| array |  getHeaders(int $maxAttempts, int $remainingAttempts, int|null $retryAfter = null)  Get the limit headers information.  |  from ThrottleRequests | 
| int |  calculateRemainingAttempts(string $key, int $maxAttempts, int|null $retryAfter = null)  Calculate the number of remaining attempts.  |  |
| mixed |  tooManyAttempts(string $key, int $maxAttempts, int $decayMinutes)  Determine if the given key has been "accessed" too many times.  |  
Details
protected int secondsUntil(DateTimeInterface|DateInterval|int $delay)
Get the number of seconds until the given DateTime.
protected int availableAt(DateTimeInterface|DateInterval|int $delay = 0)
Get the "available at" UNIX timestamp.
protected DateTimeInterface|int parseDateInterval(DateTimeInterface|DateInterval|int $delay)
If the given value is an interval, convert it to a DateTime instance.
protected int currentTime()
Get the current system time as a UNIX timestamp.
void __construct(Factory $redis)
Create a new request throttler.
Response handle(Request $request, Closure $next, int|string $maxAttempts = 60, float|int $decayMinutes = 1, string $prefix = '')
Handle an incoming request.
protected int resolveMaxAttempts(Request $request, int|string $maxAttempts)
Resolve the number of attempts if the user is authenticated or not.
protected string resolveRequestSignature(Request $request)
Resolve request signature.
protected ThrottleRequestsException buildException(string $key, int $maxAttempts)
Create a 'too many attempts' exception.
protected int getTimeUntilNextRetry(string $key)
Get the number of seconds until the lock is released.
protected Response addHeaders(Response $response, int $maxAttempts, int $remainingAttempts, int|null $retryAfter = null)
Add the limit header information to the given response.
protected array getHeaders(int $maxAttempts, int $remainingAttempts, int|null $retryAfter = null)
Get the limit headers information.
protected int calculateRemainingAttempts(string $key, int $maxAttempts, int|null $retryAfter = null)
Calculate the number of remaining attempts.
protected mixed tooManyAttempts(string $key, int $maxAttempts, int $decayMinutes)
Determine if the given key has been "accessed" too many times.
    © Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
    https://laravel.com/api/6.x/Illuminate/Routing/Middleware/ThrottleRequestsWithRedis.html