Merge pull request #733 from zachborboa/master

Include curl error code constant in curl error message
This commit is contained in:
Zach Borboa
2022-09-30 08:32:55 -07:00
committed by GitHub
25 changed files with 69 additions and 28 deletions
+2 -2
View File
@@ -52,7 +52,7 @@ $curl = new Curl();
$curl->get('https://www.example.com/');
if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
echo 'Error: ' . $curl->errorMessage . "\n";
} else {
echo 'Response:' . "\n";
var_dump($curl->response);
@@ -85,7 +85,7 @@ $curl->setCookie('key', 'value');
$curl->get('https://www.example.com/');
if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
echo 'Error: ' . $curl->errorMessage . "\n";
} else {
echo 'Response:' . "\n";
var_dump($curl->response);
+1 -1
View File
@@ -17,7 +17,7 @@ $curl->beforeSend(function ($instance) {
$curl->get('https://httpbin.org/status/503');
if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
echo 'Error: ' . $curl->errorMessage . "\n";
echo 'final attempts: ' . $curl->attempts . "\n";
echo 'final retries: ' . $curl->retries . "\n";
} else {
+1 -1
View File
@@ -11,7 +11,7 @@ $curl->setUrl('https://httpbin.org/get');
$curl->exec();
if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
echo 'Error: ' . $curl->errorMessage . "\n";
} else {
echo 'Response:' . "\n";
var_dump($curl->response);
+1 -1
View File
@@ -19,7 +19,7 @@ $curl->delete(
);
if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
echo 'Error: ' . $curl->errorMessage . "\n";
} else {
echo 'Data server received via DELETE:' . "\n";
var_dump($curl->response->form);
+1 -1
View File
@@ -11,7 +11,7 @@ $curl->get('https://httpbin.org/get', [
]);
if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
echo 'Error: ' . $curl->errorMessage . "\n";
} else {
echo 'Response:' . "\n";
var_dump($curl->response);
+1 -1
View File
@@ -9,7 +9,7 @@ $curl->setRange('0-49');
$curl->get('https://code.jquery.com/jquery-1.11.2.min.js');
if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
echo 'Error: ' . $curl->errorMessage . "\n";
} else {
var_dump($curl->responseHeaders['status-line']); // HTTP/1.1 206 Partial Content
var_dump($curl->responseHeaders['content-length']); // 50
+1 -1
View File
@@ -7,7 +7,7 @@ $curl = new Curl();
$curl->get('https://www.php.net/');
if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
echo 'Error: ' . $curl->errorMessage . "\n";
} else {
echo 'Response cookies:' . "\n";
var_dump($curl->responseCookies);
+1 -1
View File
@@ -12,7 +12,7 @@ $curl->setRetry(function ($instance) use ($max_retries) {
$curl->get('https://httpbin.org/status/503');
if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
echo 'Error: ' . $curl->errorMessage . "\n";
echo 'attempts: ' . $curl->attempts . "\n";
echo 'retries: ' . $curl->retries . "\n";
} else {
@@ -13,7 +13,7 @@ $curl->setRetry(function ($instance) use ($max_retries) {
$curl->get('https://httpbin.org/status/503');
if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
echo 'Error: ' . $curl->errorMessage . "\n";
echo 'attempts: ' . $curl->attempts . "\n";
echo 'retries: ' . $curl->retries . "\n";
} else {
+1 -1
View File
@@ -11,7 +11,7 @@ $curl->get('https://httpbin.org:443/get', [
]);
if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
echo 'Error: ' . $curl->errorMessage . "\n";
} else {
echo 'Response:' . "\n";
var_dump($curl->response);
+1 -1
View File
@@ -10,7 +10,7 @@ $curl->setRetry($max_retries);
$curl->get('https://httpbin.org/status/503');
if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
echo 'Error: ' . $curl->errorMessage . "\n";
echo 'attempts: ' . $curl->attempts . "\n";
echo 'retries: ' . $curl->retries . "\n";
} else {
@@ -30,7 +30,7 @@ $curl->setStop(function ($ch, $header) {
$curl->get('https://www.example.com/large-500-error');
if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
echo 'Error: ' . $curl->errorMessage . "\n";
echo 'Response content-length: ' . $curl->responseHeaders['content-length'] . "\n";
echo 'Actual response size downloaded: ' . $curl->getInfo(CURLINFO_SIZE_DOWNLOAD) . "\n";
} else {
@@ -64,7 +64,7 @@ $curl->setHeader('Authorization', 'Bearer ' . $access_token->access_token);
$curl->put($url, $data);
if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
echo 'Error: ' . $curl->errorMessage . "\n";
var_dump($curl);
} else {
var_dump($curl->response);
+1 -1
View File
@@ -11,7 +11,7 @@ $curl->head('http://127.0.0.1:8000/', [
]);
if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
echo 'Error: ' . $curl->errorMessage . "\n";
} else {
echo 'Response headers:' . "\n";
var_dump($curl->responseHeaders);
+1 -1
View File
@@ -16,7 +16,7 @@ $multi_curl->beforeSend(function ($instance) {
$multi_curl->complete(function ($instance) {
if ($instance->error) {
echo 'Error: ' . $instance->errorCode . ': ' . $instance->errorMessage . "\n";
echo 'Error: ' . $instance->errorMessage . "\n";
echo 'final attempts: ' . $instance->attempts . "\n";
echo 'final retries: ' . $instance->retries . "\n";
} else {
+1 -1
View File
@@ -11,7 +11,7 @@ $curl->options('http://127.0.0.1:8000/', [
]);
if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
echo 'Error: ' . $curl->errorMessage . "\n";
} else {
echo 'Response:' . "\n";
var_dump($curl->response);
+1 -1
View File
@@ -13,7 +13,7 @@ $curl->patch('https://httpbin.org/patch', [
]);
if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
echo 'Error: ' . $curl->errorMessage . "\n";
} else {
echo 'Response:' . "\n";
var_dump($curl->response);
+1 -1
View File
@@ -13,7 +13,7 @@ $curl->post('https://httpbin.org/post', [
]);
if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
echo 'Error: ' . $curl->errorMessage . "\n";
} else {
echo 'Data server received via POST:' . "\n";
var_dump($curl->response->form);
+6
View File
@@ -15,3 +15,9 @@ $curl->progress(function ($client, $download_size, $downloaded, $upload_size, $u
echo ' ' . $percent . '%' . "\r";
});
$curl->download('https://www.php.net/distributions/manual/php_manual_en.html.gz', '/tmp/php_manual_en.html.gz');
if ($curl->error) {
echo 'Download error: ' . $curl->errorMessage . "\n";
} else {
echo 'Download complete' . "\n";
}
+5 -1
View File
@@ -27,6 +27,10 @@ $curl->progress(function ($client, $download_size, $downloaded, $upload_size, $u
echo ']' . "\r";
});
$curl->complete(function ($instance) {
echo "\n" . 'download complete' . "\n";
if ($instance->error) {
echo "\n" . 'Download error: ' . $instance->errorMessage . "\n";
} else {
echo "\n" . 'Download complete' . "\n";
}
});
$curl->download('https://www.php.net/distributions/manual/php_manual_en.html.gz', '/tmp/php_manual_en.html.gz');
+1 -1
View File
@@ -13,7 +13,7 @@ $curl->put('https://httpbin.org/put', [
]);
if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
echo 'Error: ' . $curl->errorMessage . "\n";
} else {
echo 'Data server received via PUT:' . "\n";
var_dump($curl->response->form);
+1 -1
View File
@@ -13,7 +13,7 @@ $curl->search('http://127.0.0.1:8000/', [
]);
if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
echo 'Error: ' . $curl->errorMessage . "\n";
} else {
echo 'Response:' . "\n";
var_dump($curl->response);
+1 -1
View File
@@ -17,7 +17,7 @@ $curl->post('https://httpbin.org/post', [
]);
if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
echo 'Error: ' . $curl->errorMessage . "\n";
} else {
echo 'Success' . "\n";
}
+1 -1
View File
@@ -16,7 +16,7 @@ $curl->setXmlDecoder($my_xml_decoder);
$curl->get('https://httpbin.org/xml');
if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n";
echo 'Error: ' . $curl->errorMessage . "\n";
} else {
echo 'Response:' . "\n";
var_dump($curl->response);
+35 -4
View File
@@ -97,6 +97,7 @@ class Curl
];
private static $deferredProperties = [
'curlErrorCodeConstant',
'effectiveUrl',
'rfc2616',
'rfc6265',
@@ -519,10 +520,17 @@ class Curl
// Include additional error code information in error message when possible.
if ($this->curlError) {
$this->curlErrorMessage =
curl_strerror($this->curlErrorCode) . (
empty($this->curlErrorMessage) ? '' : ': ' . $this->curlErrorMessage
);
$curl_error_message = curl_strerror($this->curlErrorCode);
if ($this->curlErrorCodeConstant !== '') {
$curl_error_message .= ' (' . $this->curlErrorCodeConstant . ')';
}
if (!empty($this->curlErrorMessage)) {
$curl_error_message .= ': ' . $this->curlErrorMessage;
}
$this->curlErrorMessage = $curl_error_message;
}
$this->httpStatusCode = $this->getInfo(CURLINFO_HTTP_CODE);
@@ -547,6 +555,7 @@ class Curl
$this->errorMessage = $this->curlError ? $this->curlErrorMessage : $this->httpErrorMessage;
// Reset select deferred properties so that they may be recalculated.
unset($this->curlErrorCodeConstant);
unset($this->effectiveUrl);
unset($this->totalTime);
@@ -1832,6 +1841,28 @@ class Curl
return $return;
}
/**
* Get Curl Error Code Constant
*
* @access private
*/
private function _get_curlErrorCodeConstant()
{
$constants = get_defined_constants(true);
$filtered_array = array_filter(
$constants['curl'],
function ($key) {
return strpos($key, 'CURLE_') !== false;
},
ARRAY_FILTER_USE_KEY
);
$curl_const_by_code = array_flip($filtered_array);
if (isset($curl_const_by_code[$this->curlErrorCode])) {
return $curl_const_by_code[$this->curlErrorCode];
}
return '';
}
/**
* Get Effective Url
*