PHP code example of ryudith / mezzio-simple-throttle
1. Go to this page and download the library: Download ryudith/mezzio-simple-throttle library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?phprequire_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
ryudith / mezzio-simple-throttle example snippets
...
$aggregator = new ConfigAggregator([
...
\Ryudith\MezzioSimpleThrottle\ConfigProvider::class, // <= add this line
...
class_exists(\Mezzio\Swoole\ConfigProvider::class)
? \Mezzio\Swoole\ConfigProvider::class
: function(): array{
return [];
},
...
], $cacheConfig['config_cache_path']);
...
...
useRyudith\MezzioSimpleThrottle\SimpleThrottle; // <= add this line
...
returnfunction(Application $app, MiddlewareFactory $factory, ContainerInterface $container): void{
// The error handler should be the first (most outer) middleware to catch// all Exceptions.
$app->pipe(ErrorHandler::class);
$app->pipe(ServerUrlMiddleware::class);
$app->pipe(SimpleThrottle::class); // <= add this line
...
};
...
...
return [
'dependencies' => [
'factories' => [
FileSystemThrottleStorage::class => FileSystemThrottleStorageFactory::class,
ThrottleResponse::class => ThrottleResponseFactory::class,
SimpleThrottle::class => SimpleThrottleFactory::class,
],
],
'mezzio_simple_throttle' => [
'request_limit_per_minute' => 10,
'request_real_ip_key' => 'REMOTE_ADDR', // key for $_ENV or $_SERVER to get request real ip'ip_path_key' => true, // data key based IP and URI path or IP only data key'throttle_data_dir' => './data/throttle',
'file_data_delimiter' => '||',
'throttle_storage_class' => FileSystemThrottleStorage::class,
'throttle_response_class' => ThrottleResponse::class,
],
];
...
...
return [
// Toggle the configuration cache. Set this to boolean false, or remove the// directive, to disable configuration caching. Toggling development mode// will also disable it by default; clear the configuration cache using// `composer clear-config-cache`.
ConfigAggregator::ENABLE_CACHE => true,
// Enable debugging; typically used to provide debugging information within templates.'debug' => true,
'mezzio' => [
// Provide templates for the error handling middleware to use when// generating responses.'error_handler' => [
'template_404' => 'error::4042',
'template_error' => 'error::error',
],
],
// add only configuration you want to change'mezzio_simple_throttle' => [
'ip_path_key' => false,
'file_data_delimiter' => '//'
],
];
...
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.