Skip to content

amphp/http-client-cache

Repository files navigation

http-client-cache

License

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 [email protected] instead of using the issue tracker.

License

The MIT License (MIT). Please see LICENSE for more information.

About

An async HTTP cache for Amp's HTTP client.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages