Awesome
http-client-cache
This package provides an HTTP cache in form of an ApplicationInterceptor
for Amp's HTTP client based on RFC 7234.
Features
- Private cache (
SingleUserCache
) - Automatic
vary
header support - Caching pushed responses
Planned Features
- Shared cache
- Conditional requests
Installation
This package can be installed as a Composer dependency.
composer require amphp/http-client-cache
Usage
Currently, only a SingleUserCache
is provided.
Therefore, it is unsafe to use a single instance for multiple users, e.g. different access tokens.
use Amp\Cache\FileCache;
use Amp\Http\Client\HttpClientBuilder;
use Amp\Http\Client\Cache\SingleUserCache;
use Amp\Sync\LocalKeyedMutex;
$cache = new FileCache(__DIR__, new LocalKeyedMutex);
$client = (new HttpClientBuilder)
->intercept(new SingleUserCache($cache, $logger))
->build();
Examples
More extensive code examples reside in the examples
directory.
Versioning
amphp/http-client-cache
follows the semver semantic versioning specification like all other amphp
packages.
Security
If you discover any security related issues, please email me@kelunik.com
instead of using the issue tracker.
License
The MIT License (MIT). Please see LICENSE
for more information.