Files
php-curl-class/examples/multi_curl_before_send_retry.php
T
Zach Borboa acf8e9f6a0 Include curl error code constant in curl error message (Curl::curlErrorMessage)
Before:
    Timeout was reached: Operation timed out after 30001 milliseconds with 1453867 out of 3000000 bytes received

After:
    Timeout was reached (CURLE_OPERATION_TIMEOUTED): Operation timed out after 30001 milliseconds with 1453867 out of 3000000 bytes received
2022-09-30 07:52:27 -07:00

31 lines
819 B
PHP

<?php
require __DIR__ . '/../vendor/autoload.php';
use Curl\MultiCurl;
$max_retries = 3;
$multi_curl = new MultiCurl();
$multi_curl->setRetry($max_retries);
$multi_curl->beforeSend(function ($instance) {
echo 'current attempts: ' . $instance->attempts . "\n";
echo 'current retries: ' . $instance->retries . "\n";
echo 'about to make request to ' . $instance->url . "\n";
});
$multi_curl->complete(function ($instance) {
if ($instance->error) {
echo 'Error: ' . $instance->errorMessage . "\n";
echo 'final attempts: ' . $instance->attempts . "\n";
echo 'final retries: ' . $instance->retries . "\n";
} else {
echo 'Response:' . "\n";
var_dump($instance->response);
}
});
$multi_curl->addGet('https://httpbin.org/status/503');
$multi_curl->start();