php-extended/php-http-client-cache-psr6

A psr-18 compliant middleware client that handles requests through a psr-6 compliant cache.

4.0.1 2022-06-01 21:00 UTC

README

A psr-18 compliant middleware client that handles requests through a psr-6 compliant cache.

coverage build status

Installation

The installation of this library is made via composer. Download composer.phar from their website. Then add to your composer.json :

	"require": {
		...
		"php-extended/php-http-client-cache-psr6": "^3",
		...
	}

Then run php composer.phar update to install this library. The autoloading of all classes of this library is made through composer's autoloader.

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).