Gustavo Ocanto created an HTTP client on top of Guzzle that handles retries and logging. Typically you’d have some code like the following (and likely a try/catch too) if you need to retry an HTTP call:
use GuzzleHttp\Client;
$retry = 1;
$response = null;
do {
$response = (new Client)->get('http://foo.com');
} while ($response === null && $retry <= 5);
With this client, you can achieve similar with the following code:
$response = (new Client)->retry(5)->get('http://foo.com');
If you need more granular control and want to tap into the retry routine, the package has an onRetry
method:
$response = (new Client)->onRetry(function () {
// Do stuff
})->get('http://foo.com');
You can learn more about this package, get full installation instructions, and view the source code on GitHub at gocanto/http-client.
0 comments:
Post a Comment
Thanks