php-extended / php-http-client-cache-psr6
A psr-18 compliant middleware client that handles requests through a psr-6 compliant cache.
6.0.4
2023-08-21 18:24 UTC
Requires
- php: >=7.4
- php-extended/polyfill-php80-stringable: ^1.2
- psr/cache: ^1
- psr/http-client: ^1
- psr/http-factory: ^1
Requires (Dev)
This package is auto-updated.
Last update: 2023-09-21 18:38:17 UTC
README
A psr-18 compliant middleware client that handles requests through a psr-6 compliant cache.
Installation
The installation of this library is made via composer and the autoloading of all classes of this library is made through their autoloader.
- Download
composer.phar
from their website. - Then run the following command to install this library as dependency :
php composer.phar php-extended/php-http-client-cache-psr6 ^6
Basic Usage
This library is to make a man in the middle for http requests and responses and logs the events when requests passes. It may be used the following way :
/* @var $client Psr\Http\Client\ClientInterface */ // psr-18
/* @var $cache Psr\SimpleCache\CacheItemPoolInterface */ // psr-6
/* @var $requestFactory \Psr\Http\Message\RequestFactoryInterface */ // psr-17
/* @var $streamFactory \Psr\Http\Message\StreamFactoryInterface */ // psr-17
/* @var $request Psr\Http\Message\RequestInterface */ // psr-7
$client = new CacheItemPoolClient($client, $cache, $requestFactory, $streamFactory);
$response = $client->sendRequest($request);
/* @var $response Psr\Http\Message\ResponseInterface */
This library handles different headers :
- For the requests :
- Cache-Control
- Pragma
- Date
- If-Match
- If-Modified-Since
- If-None-Match
- If-Range
- If-Unmodified-Since
- For the responses :
- Cache-Control
- Pragma
- Date
- Expires
- ETag
- Last-Modified
- Age
License
MIT (See license file).