Download the PHP package fyre/ratelimiter without Composer
On this page you can find all versions of the php package fyre/ratelimiter. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package ratelimiter
FyreRateLimiter
FyreRateLimiter is a free, open-source rate limiting library for PHP.
Table Of Contents
- Installation
- Basic Usage
- Methods
- Middleware
Installation
Using Composer
In PHP:
Basic Usage
$container
is a Container.$cacheManager
is a CacheManager.$options
is an array containing options for the RateLimiter.cacheConfig
is a string representing the configuration key for the Cache, and will default to "ratelimiter".limit
is a number representing the maximum number of requests that can be made within the period, and will default to 60.period
is a number representing the number of seconds per rate limiting period, and will default to 60.message
is a string representing the rate limit error message, and will default to "Rate limit exceeded".headers
is an array containing the rate limit headers.limit
is a string representing the rate limit header, and will default to "X-RateLimit-Limit".remaining
is a string representing the rate limit remaining header, and will default to "X-RateLimit-Remaining".reset
is a string representing the rate limit reset header, and will default to "X-RateLimit-Reset".
identifier
is a Closure that accepts a ServerRequest as the first argument, and should return a string representing the client identifier.skipCheck
is a Closure that accepts a ServerRequest as the first argument, and can return true to skip rate limit checks for the request.errorRenderer
is a Closure that accepts a ServerRequest and a ClientResponse as the arguments, and should return a ClientResponse.
If the cacheConfig
doesn't exist in the CacheManager, a default FileCacher will be created instead.
If the identifier
callback is omitted, it will default to using the $_SERVER['REMOTE_ADDR']
.
If the errorRenderer
callback is omitted, it will default to negotiating a json or plaintext response containing the message
option.
Autoloading
Any dependencies will be injected automatically when loading from the Container.
Methods
Add Headers
Add rate limit headers to a ClientResponse.
$response
is a ClientResponse.
Check Limit
Determine whether the rate limit has been reached for a request.
$request
is the ServerRequest.
Error Response
Generate an error response.
$request
is the ServerRequest.
Middleware
$container
is a Container.$options
is an array containing options for the RateLimiter.cacheConfig
is a string representing the configuration key for the Cache, and will default to "ratelimiter".limit
is a number representing the maximum number of requests that can be made within the period, and will default to 60.period
is a number representing the number of seconds per rate limiting period, and will default to 60.message
is a string representing the rate limit error message, and will default to "Rate limit exceeded".headers
is an array containing the rate limit headers.limit
is a string representing the rate limit header, and will default to "X-RateLimit-Limit".remaining
is a string representing the rate limit remaining header, and will default to "X-RateLimit-Remaining".reset
is a string representing the rate limit reset header, and will default to "X-RateLimit-Reset".
identifier
is a Closure that accepts a ServerRequest as the first argument, and should return a string representing the client identifier.skipCheck
is a Closure that accepts a ServerRequest as the first argument, and can return true to skip rate limit checks for the request.errorRenderer
is a Closure that accepts a ServerRequest and a ClientResponse as the arguments, and should return a ClientResponse.
Any dependencies will be injected automatically when loading from the Container.
Handle
Handle a ServerRequest.
$request
is a ServerRequest.$next
is a Closure.
This method will return a ClientResponse.
All versions of ratelimiter with dependencies
fyre/container Version ^1.0
fyre/middleware Version ^6.0
fyre/server Version ^4.0