bohan/promise-http-client

此包已被弃用,不再维护。作者建议使用manyou/promise-http-client包代替。

创建一个返回 Guzzle 应诺的 Symfony HttpClient

v0.4.0 2021-03-15 14:58 UTC

This package is auto-updated.

Last update: 2022-11-08 07:53:37 UTC


README

安装

composer require bohan/promise-http-client

如果您还没有symfony/http-client-implementation

composer require symfony/http-client

示例用法

use Bohan\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

致谢

大部分代码来自

来自HttplugClientSymfony HttpClient 组件