docdoc/php-rate-limiter

此包已被 废弃 并不再维护。未建议替代包。

速率限制器 + PSR-15 中间件

此包尚未发布任何版本,可用的信息不多。


README

https://github.com/alexpts/php-rate-limiter 分支

Build Status

速率限制器 + PSR-15 中间件

安装

composer require docdoc/php-rate-limiter

示例

<?php


use DocDoc\RateLimiter\Adapter\MemoryAdapter;
use DocDoc\RateLimiter\Limiter;
use DocDoc\RateLimiter\RateLimitMiddleware;
use Relay\Relay;
use Zend\Diactoros\Response\JsonResponse;
use Zend\Diactoros\ServerRequestFactory;

require_once '../vendor/autoload.php';

$limitStore = new MemoryAdapter;
$rateLimiter = new Limiter($limitStore);
$response = new JsonResponse(['error' => 'Too Many Requests'], 429);

$limiterMiddleware = new RateLimitMiddleware($rateLimiter, $response);
$limiterMiddleware->setKeyAttr('ip');

$psr15Runner = new Relay([
    $limiterMiddleware
]); // relay or other psr-15 runner

$psr7Request = ServerRequestFactory::fromGlobals();
$response = $psr15Runner->handle($psr7Request);

// flush response or other
// ...