处理重试和日志记录的 HTTP 客户端
发布于 作者 Paul Redmond
Gustavo Ocanto 在 Guzzle 之上创建了一个 HTTP 客户端,它可以处理重试和日志记录。 通常,如果您需要重试 HTTP 调用,您将拥有以下代码(并且可能还会有 try/catch):
use GuzzleHttp\Client; $retry = 1;$response = null; do { $response = (new Client)->get('http://foo.com');} while ($response === null && $retry <= 5);
使用此客户端,您可以使用以下代码实现类似的功能:
$response = (new Client)->retry(5)->get('http://foo.com');
如果您需要更细粒度的控制并且想要介入重试例程,该包具有一个 onRetry
方法
$response = (new Client)->onRetry(function () { // Do stuff})->get('http://foo.com');
您可以在 GitHub 上了解有关此包的更多信息,获取完整的安装说明并查看源代码,地址为 gocanto/http-client。