RateLimiterFactory implements RateLimiterFactoryInterface
Attributes
- #[Autoconfigure]
- $public: true
- $shared: false
Table of Contents
Interfaces
- RateLimiterFactoryInterface
- TYPO3's own rate limiter factory interface extending Symfony's RateLimiterFactoryInterface with additional convenience methods for request-based and login rate limiting.
Properties
- $config : array<string|int, mixed>
- $storage : CachingFrameworkStorage
Methods
- __construct() : mixed
- create() : LimiterInterface
- createLimiter() : LimiterInterface
- Create a limiter with custom configuration.
- createLoginRateLimiter() : LimiterInterface
- Create a limiter for user login.
- createRequestBasedLimiter() : LimiterInterface
- Create a limiter based on the request input.
- applyConfigOverrides() : array<string|int, mixed>
- isIpExcluded() : bool
Properties
$config read-only
protected
array<string|int, mixed>
$config
= []
$storage read-only
protected
CachingFrameworkStorage
$storage
Methods
__construct()
public
__construct(CachingFrameworkStorage $storage[, array<string|int, mixed> $config = [] ]) : mixed
Parameters
- $storage : CachingFrameworkStorage
- $config : array<string|int, mixed> = []
create()
public
create([string|null $key = null ]) : LimiterInterface
Parameters
- $key : string|null = null
Return values
LimiterInterfacecreateLimiter()
Create a limiter with custom configuration.
public
createLimiter(array<string|int, mixed> $config[, string|null $key = null ]) : LimiterInterface
Parameters
- $config : array<string|int, mixed>
- $key : string|null = null
Return values
LimiterInterfacecreateLoginRateLimiter()
Create a limiter for user login.
public
createLoginRateLimiter(ServerRequestInterface $request, string $loginType) : LimiterInterface
Parameters
- $request : ServerRequestInterface
- $loginType : string
Return values
LimiterInterfacecreateRequestBasedLimiter()
Create a limiter based on the request input.
public
createRequestBasedLimiter(ServerRequestInterface $request, array<string|int, mixed> $configuration) : LimiterInterface
Parameters
- $request : ServerRequestInterface
- $configuration : array<string|int, mixed>
Return values
LimiterInterfaceapplyConfigOverrides()
protected
applyConfigOverrides(array<string|int, mixed> $config) : array<string|int, mixed>
Parameters
- $config : array<string|int, mixed>
Return values
array<string|int, mixed>isIpExcluded()
protected
isIpExcluded(string $loginType, string $remoteAddress) : bool
Parameters
- $loginType : string
- $remoteAddress : string