22 lines
620 B
PHP
22 lines
620 B
PHP
|
<?php
|
||
|
namespace nur\b;
|
||
|
|
||
|
use Throwable;
|
||
|
|
||
|
class CurlException extends UserException {
|
||
|
function __construct($ch, ?string $message=null, $code=0, ?Throwable $previous=null) {
|
||
|
$user_msg = $message;
|
||
|
if ($message === null) $message = "(unknown error)";
|
||
|
$tech_msg = null;
|
||
|
if ($ch !== null) {
|
||
|
$parts = [];
|
||
|
$errno = curl_errno($ch);
|
||
|
if ($errno != 0) $parts[] = "errno: $errno";
|
||
|
$error = curl_error($ch);
|
||
|
if ($error != "") $parts[] = "error: $error";
|
||
|
if ($parts) $tech_msg = implode(", ", $parts);
|
||
|
}
|
||
|
parent::__construct([$user_msg, $tech_msg], $code, $previous);
|
||
|
}
|
||
|
}
|