com\setasign\SetaFramework\Helper\RateLimiter
DatabaseRateLimiter Class DatabaseRateLimiter
File: /SetaFramework/src/Helper/RateLimiter/DatabaseRateLimiter.php
Class hierarchy
Implements
Summary
Constants
TABLE_NAME
Properties
$database
private DatabaseRateLimiter::$database
$hardLock
private DatabaseRateLimiter::$hardLock
$interval
private DatabaseRateLimiter::$interval
$rateLimiterName
private DatabaseRateLimiter::$rateLimiterName
$sleepWrapper
private DatabaseRateLimiter::$sleepWrapper
$softLock
private DatabaseRateLimiter::$softLock
Methods
__construct()
public DatabaseRateLimiter::__construct (
\com\setasign\SetaFramework\Database\Database $database,
string $rateLimiterName,
int $softLock = 10,
?int $hardLock = null,
int $interval = 30,
?\com\setasign\SetaFramework\Helper\FunctionWrapper\SleepWrapper $sleepWrapper = null
)string $rateLimiterName,
int $softLock = 10,
?int $hardLock = null,
int $interval = 30,
?\com\setasign\SetaFramework\Helper\FunctionWrapper\SleepWrapper $sleepWrapper = null
DatabaseRateLimiter constructor.
Parameters
- $database : \com\setasign\SetaFramework\Database\Database
- $rateLimiterName : string
- $softLock : int
The soft lock defines with which request the rate will be limited.
- $hardLock : ?int
If the hard lock is reached all requests will be blocked.
- $interval : int
Wait interval in minutes to reset the counter. Every request counts for itself unlike the cache rate limiter.
- $sleepWrapper : ?\com\setasign\SetaFramework\Helper\FunctionWrapper\SleepWrapper
throttleRequest()
public DatabaseRateLimiter::throttleRequest (
\Psr\Http\Message\ServerRequestInterface $request
): voidParameters
- $request : \Psr\Http\Message\ServerRequestInterface
Exceptions
Throws HardLockException if the rate limiter reached the hard lock
