manyou / promise-http-client
创建一个返回 Guzzle promises 的 Symfony HttpClient
dev-main / 0.1.x-dev
2024-03-22 07:36 UTC
Requires
- php: >=8.1
- guzzlehttp/promises: ^1.4|^2.0
- psr/log: ^2.0|^3.0
- symfony/http-client-contracts: ^3.0
- symfony/http-client-implementation: ^3.0
Requires (Dev)
- symfony/http-client: ^6.4|^7.0
- symfony/process: ^6.4|^7.0
This package is auto-updated.
Last update: 2024-09-22 08:38:37 UTC
README
安装
composer require manyou/promise-http-client
如果您还没有 symfony/http-client-implementation
composer require symfony/http-client
示例用法
use Manyou\PromiseHttpClient\PromiseHttpClient; use Symfony\Component\HttpClient\HttpClient; use Symfony\Contracts\HttpClient\ResponseInterface; $client = new PromiseHttpClient(HttpClient::create()); $promise = $client->request('GET', 'https://httpbin.org/status/429')->then(function (ResponseInterface $response) use ($client) { if ($response->getStatusCode() < 300) { return $response; } return $client->request('GET', 'https://httpbin.org/get'); }); /** @var ResponseInterface $response */ $response = $promise->wait(); echo $response->getStatusCode(); // 200
鸣谢
大部分代码来自
来自 HttplugClient,该组件属于 Symfony HttpClient。