ThrottleRequests
class ThrottleRequests (View source)
Traits
Properties
| protected RateLimiter | $limiter | The rate limiter instance.  | 
                
Methods
Get the number of seconds until the given DateTime.
If the given value is an interval, convert it to a DateTime instance.
Resolve the number of attempts if the user is authenticated or not.
Create a 'too many attempts' exception.
Get the number of seconds until the next retry.
Add the limit header information to the given response.
Get the limit headers information.
Calculate the number of remaining attempts.
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(RateLimiter $limiter)
        
    
    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 next retry.
        
                    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.