RateLimiter
class RateLimiter (View source)
Traits
A class that can be instantiated or replaced via DI
Methods
An implementation of the factory method, allows you to create an instance of a class
Creates a class instance by the "singleton" design pattern.
Details
        
                static            Injectable
    create(mixed ...$args)
        
    
    An implementation of the factory method, allows you to create an instance of a class
This method will defer class substitution to the Injector API, which can be customised via the Config API to declare substitution classes.
This can be called in one of two ways - either calling via the class directly, or calling on Object and passing the class name as the first parameter. The following are equivalent: $list = DataList::create(SiteTree::class); $list = SiteTree::get();
        
                static            Injectable
    singleton(string $class = null)
        
    
    Creates a class instance by the "singleton" design pattern.
It will always return the same instance for this class, which can be used for performance reasons and as a simple way to access instance methods which don't rely on instance data (e.g. the custom SilverStripe static handling).
        
                            
    __construct(string $identifier, int $maxAttempts, int $decay)
        
    
    RateLimiter constructor.
        
                            CacheInterface
    getCache()
        
    
    No description
        
                            $this
    setCache(CacheInterface $cache)
        
    
    No description
        
                            string
    getIdentifier()
        
    
    No description
        
                            $this
    setIdentifier(string $identifier)
        
    
    No description
        
                            int
    getMaxAttempts()
        
    
    No description
        
                            $this
    setMaxAttempts(int $maxAttempts)
        
    
    No description
        
                            int
    getDecay()
        
    
    No description
        
                            $this
    setDecay(int $decay)
        
    
    No description
        
                            int
    getNumAttempts()
        
    
    No description
        
                            int
    getNumAttemptsRemaining()
        
    
    No description
        
                            int
    getTimeToReset()
        
    
    No description
        
                            $this
    clearAttempts()
        
    
    No description
        
                            $this
    hit()
        
    
    Store a hit in the rate limit cache
        
                            bool
    canAccess()
        
    
    No description