PicoFeed\Client\Curl::handleError PHP Method

handleError() private method

We don't use constants because they are not necessary always available (depends of the version of libcurl linked to php)
See also: http://curl.haxx.se/libcurl/c/libcurl-errors.html
private handleError ( integer $errno )
$errno integer cURL error code
    private function handleError($errno)
    {
        switch ($errno) {
            case 78:
                // CURLE_REMOTE_FILE_NOT_FOUND
                throw new InvalidUrlException('Resource not found', $errno);
            case 6:
                // CURLE_COULDNT_RESOLVE_HOST
                throw new InvalidUrlException('Unable to resolve hostname', $errno);
            case 7:
                // CURLE_COULDNT_CONNECT
                throw new InvalidUrlException('Unable to connect to the remote host', $errno);
            case 23:
                // CURLE_WRITE_ERROR
                throw new MaxSizeException('Maximum response size exceeded', $errno);
            case 28:
                // CURLE_OPERATION_TIMEDOUT
                throw new TimeoutException('Operation timeout', $errno);
            case 35:
                // CURLE_SSL_CONNECT_ERROR
            // CURLE_SSL_CONNECT_ERROR
            case 51:
                // CURLE_PEER_FAILED_VERIFICATION
            // CURLE_PEER_FAILED_VERIFICATION
            case 58:
                // CURLE_SSL_CERTPROBLEM
            // CURLE_SSL_CERTPROBLEM
            case 60:
                // CURLE_SSL_CACERT
            // CURLE_SSL_CACERT
            case 59:
                // CURLE_SSL_CIPHER
            // CURLE_SSL_CIPHER
            case 64:
                // CURLE_USE_SSL_FAILED
            // CURLE_USE_SSL_FAILED
            case 66:
                // CURLE_SSL_ENGINE_INITFAILED
            // CURLE_SSL_ENGINE_INITFAILED
            case 77:
                // CURLE_SSL_CACERT_BADFILE
            // CURLE_SSL_CACERT_BADFILE
            case 83:
                // CURLE_SSL_ISSUER_ERROR
                $msg = 'Invalid SSL certificate caused by CURL error number ' . $errno;
                throw new InvalidCertificateException($msg, $errno);
            case 47:
                // CURLE_TOO_MANY_REDIRECTS
                throw new MaxRedirectException('Maximum number of redirections reached', $errno);
            case 63:
                // CURLE_FILESIZE_EXCEEDED
                throw new MaxSizeException('Maximum response size exceeded', $errno);
            default:
                throw new InvalidUrlException('Unable to fetch the URL', $errno);
        }
    }