Select Git revision
CurlExceptionFactory.php
-
Grzegorz Rola authoredGrzegorz Rola authored
CurlExceptionFactory.php 1.08 KiB
<?php
namespace WPDesk\HttpClient\Curl;
use WPDesk\HttpClient\Curl\Exception\CurlException;
use WPDesk\HttpClient\Curl\Exception\CurlTimedOutException;
class CurlExceptionFactory
{
/**
* Convert curl code to appropriate exception class.
*
* @param int $curlCode Code from https://curl.haxx.se/libcurl/c/libcurl-errors.html
* @param string $curlMessage
* @return CurlException
*/
public static function createCurlException($curlCode, $curlMessage) {
switch ($curlCode) {
case CURLE_OPERATION_TIMEDOUT:
return new CurlTimedOutException($curlMessage, $curlCode);
default:
return self::createDefaultException($curlMessage, $curlCode);
}
}
/**
* Creates default Curl exception
*
* @param $code
* @param $message
* @param \Exception|null $prev
* @return CurlException
*/
public static function createDefaultException($code, $message, \Exception $prev = null) {
return new CurlException('Default exception: ' . $message, $code, $prev);
}
}