amphp / http-client-cache
Amp HTTP 客户端的异步 HTTP 缓存。
v1.0.0
2019-12-21 19:48 UTC
Requires
- php: >=7.2
- ext-filter: *
- ext-hash: *
- ext-json: *
- amphp/amp: ^2.4
- amphp/byte-stream: ^1.7
- amphp/cache: ^1.3
- amphp/http: ^1.5
- amphp/http-client: ^4
- kelunik/string: ^1.0
- psr/log: ^1.1
Requires (Dev)
- amphp/file: ^1.0
- amphp/log: ^1.0
- amphp/php-cs-fixer-config: dev-master
- amphp/phpunit-util: ^1.1
- monolog/monolog: ^1.24
- phpunit/phpunit: ^8 | ^7
Conflicts
- amphp/file: <0.2 || >=2
This package is auto-updated.
Last update: 2024-09-19 20:30:14 UTC
README
此包为基于 Amp HTTP 客户端 的 HTTP 缓存提供了一种 ApplicationInterceptor
形式,该缓存基于 RFC 7234。
功能
- 私有缓存(
SingleUserCache
) - 自动支持
vary
头部 - 缓存推送响应
计划中的功能
- 共享缓存
- 条件请求
安装
此包可以作为 Composer 依赖项安装。
composer require amphp/http-client-cache
用法
目前,仅提供 SingleUserCache
。因此,使用单个实例为多个用户(例如,不同的访问令牌)是不安全的。
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
目录。
版本控制
amphp/http-client-cache
遵循与其他所有 amphp
包相同的 semver 语义版本规范。
安全
如果您发现任何安全相关的问题,请通过电子邮件 me@kelunik.com
与我们联系,而不是使用问题跟踪器。
许可证
MIT 许可证(MIT)。有关更多信息,请参阅 LICENSE
。