rtheunissen / guzzle-cache-handler
Guzzle 6/7 使用的用于缓存响应的处理程序
v2.0.0
2023-07-19 22:04 UTC
Requires
- php: >=7.2
- guzzlehttp/guzzle: ~6.0|~7.0
- psr/log: ~1.0|~2.0|~3.0
- rtheunissen/cache: ~0.1
Requires (Dev)
- doctrine/cache: ~1.4
- mockery/mockery: ^1.6
- phpunit/phpunit: ^9.3
README
安装
composer require rtheunissen/guzzle-cache-handler
使用方法
这是一个用于缓存特定时间内的响应的处理程序。
您需要一个实现的 CacheInterface。更多详情请参阅 rtheunissen/cache。
use Concat\Http\Handler\CacheHandler; use Doctrine\Common\Cache\FilesystemCache; use GuzzleHttp\Client; // Basic directory cache example $cacheProvider = new FilesystemCache(__DIR__ . '/cache'); // Guzzle will determine an appropriate default handler if `null` is given. $defaultHandler = null; // Create a cache handler with a given cache provider and default handler. $handler = new CacheHandler($cacheProvider, $defaultHandler, [ /** * @var array HTTP methods that should be cached. */ 'methods' => ['GET', 'HEAD', 'OPTIONS'], /** * @var integer Time in seconds to cache a response for. */ 'expire' => 60, /** * @var callable Accepts a request and returns true if it should be cached. */ 'filter' => null, ]); // Use a PSR-3 compliant logger to log when bundles are stored or fetched. $handler->setLogger($logger); // Create a Guzzle 6/7 client, passing the cache handler as 'handler'. $client = new Client([ 'handler' => $handler ]);