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);
 | 
						|
  }
 | 
						|
}
 |