<?php

namespace App\Enum;

class CurlErrorCodes extends Enum
{
    public const CURLE_UNSUPPORTED_PROTOCOL         = 1;
    public const CURLE_FAILED_INIT                  = 2;
    public const CURLE_URL_MALFORMAT                = 3;
    public const CURLE_URL_MALFORMAT_USER           = 4;
    public const CURLE_COULDNT_RESOLVE_PROXY        = 5;
    public const CURLE_COULDNT_RESOLVE_HOST         = 6;
    public const CURLE_COULDNT_CONNECT              = 7;
    public const CURLE_FTP_WEIRD_SERVER_REPLY       = 8;
    public const CURLE_REMOTE_ACCESS_DENIED         = 9;
    public const CURLE_FTP_WEIRD_PASS_REPLY         = 11;
    public const CURLE_FTP_WEIRD_PASV_REPLY         = 13;
    public const CURLE_FTP_WEIRD_227_FORMAT         = 14;
    public const CURLE_FTP_CANT_GET_HOST            = 15;
    public const CURLE_FTP_COULDNT_SET_TYPE         = 17;
    public const CURLE_PARTIAL_FILE                 = 18;
    public const CURLE_FTP_COULDNT_RETR_FILE        = 19;
    public const CURLE_QUOTE_ERROR                  = 21;
    public const CURLE_HTTP_RETURNED_ERROR          = 22;
    public const CURLE_WRITE_ERROR                  = 23;
    public const CURLE_UPLOAD_FAILED                = 25;
    public const CURLE_READ_ERROR                   = 26;
    public const CURLE_OUT_OF_MEMORY                = 27;
    public const CURLE_OPERATION_TIMEDOUT           = 28;
    public const CURLE_FTP_PORT_FAILED              = 30;
    public const CURLE_FTP_COULDNT_USE_REST         = 31;
    public const CURLE_RANGE_ERROR                  = 33;
    public const CURLE_HTTP_POST_ERROR              = 34;
    public const CURLE_SSL_CONNECT_ERROR            = 35;
    public const CURLE_BAD_DOWNLOAD_RESUME          = 36;
    public const CURLE_FILE_COULDNT_READ_FILE       = 37;
    public const CURLE_LDAP_CANNOT_BIND             = 38;
    public const CURLE_LDAP_SEARCH_FAILED           = 39;
    public const CURLE_FUNCTION_NOT_FOUND           = 41;
    public const CURLE_ABORTED_BY_CALLBACK          = 42;
    public const CURLE_BAD_FUNCTION_ARGUMENT        = 43;
    public const CURLE_INTERFACE_FAILED             = 45;
    public const CURLE_TOO_MANY_REDIRECTS           = 47;
    public const CURLE_UNKNOWN_TELNET_OPTION        = 48;
    public const CURLE_TELNET_OPTION_SYNTAX         = 49;
    public const CURLE_PEER_FAILED_VERIFICATION     = 51;
    public const CURLE_GOT_NOTHING                  = 52;
    public const CURLE_SSL_ENGINE_NOTFOUND          = 53;
    public const CURLE_SSL_ENGINE_SETFAILED         = 54;
    public const CURLE_SEND_ERROR                   = 55;
    public const CURLE_RECV_ERROR                   = 56;
    public const CURLE_SSL_CERTPROBLEM              = 58;
    public const CURLE_SSL_CIPHER                   = 59;
    public const CURLE_SSL_CACERT                   = 60;
    public const CURLE_BAD_CONTENT_ENCODING         = 61;
    public const CURLE_LDAP_INVALID_URL             = 62;
    public const CURLE_FILESIZE_EXCEEDED            = 63;
    public const CURLE_USE_SSL_FAILED               = 64;
    public const CURLE_SEND_FAIL_REWIND             = 65;
    public const CURLE_SSL_ENGINE_INITFAILED        = 66;
    public const CURLE_LOGIN_DENIED                 = 67;
    public const CURLE_TFTP_NOTFOUND                = 68;
    public const CURLE_TFTP_PERM                    = 69;
    public const CURLE_REMOTE_DISK_FULL             = 70;
    public const CURLE_TFTP_ILLEGAL                 = 71;
    public const CURLE_TFTP_UNKNOWNID               = 72;
    public const CURLE_REMOTE_FILE_EXISTS           = 73;
    public const CURLE_TFTP_NOSUCHUSER              = 74;
    public const CURLE_CONV_FAILED                  = 75;
    public const CURLE_CONV_REQD                    = 76;
    public const CURLE_SSL_CACERT_BADFILE           = 77;
    public const CURLE_REMOTE_FILE_NOT_FOUND        = 78;
    public const CURLE_SSH                          = 79;
    public const CURLE_SSL_SHUTDOWN_FAILED          = 80;
    public const CURLE_AGAIN                        = 81;
    public const CURLE_SSL_CRL_BADFILE              = 82;
    public const CURLE_SSL_ISSUER_ERROR             = 83;
    public const CURLE_FTP_PRET_FAILED              = 84;
    public const CURLE_RTSP_CSEQ_ERROR              = 85;
    public const CURLE_RTSP_SESSION_ERROR           = 86;
    public const CURLE_FTP_BAD_FILE_LIST            = 87;
    public const CURLE_CHUNK_FAILED                 = 88;
    

    /**
     * Curl Error messages
     * @var string[]
     */
    public static $messages = [
        1 => 'Unsupported protocol.',
        2 => 'Failed initalization.',
        3 => 'Invalid URL format.',
        4 => 'CURLE_URL_MALFORMAT_USER.',
        5 => 'Could not resolve proxy.',
        6 => 'Could not resolve host.',
        7 => 'Could not connect to host.',
        8 => 'Invalid reply from FTP server.',
        9 => 'Access denied on host.',
        11 => 'Invalid pass reply from FTP server.',
        13 => 'Invalid pasv reply from FTP server.',
        14 => 'Invalid 227 format from FTP server.',
        15 => 'Could not get FTP host.',
        17 => 'Could not set type for FTP transfer.',
        18 => 'Invalid partial size.',
        19 => 'Could not retrieve file from FTP server.',
        21 => 'Quote error.',
        22 => 'HTTP server returned error.',
        23 => 'File write error.',
        25 => 'Upload file error.',
        26 => 'File read error.',
        27 => 'Out of memory.',
        28 => 'File transfer timed out.',
        30 => 'Invalid port for FTP server.',
        31 => 'Could not use rest for FTP server.',
        33 => 'File range error.',
        34 => 'Invalid POST for HTTP server.',
        35 => 'SSL connectio error.',
        36 => 'Invalid resume download.',
        37 => 'Could not read file.',
        38 => 'Could not bind to LDAP.',
        39 => 'LDAP search failed.',
        41 => 'Function not found.',
        42 => 'Aborted by callback.',
        43 => 'Bad function argument.',
        45 => 'Interface failed.',
        47 => 'Too many redirects.',
        48 => 'Unknown telnet option.',
        49 => 'Telnet option syntax invalid.',
        51 => 'Peer failed verification.',
        52 => 'Did not receive any data.',
        53 => 'SSL engine was not found.',
        54 => 'SSL engine failed.',
        55 => 'Send data error.',
        56 => 'Receive data error.',
        58 => 'SSL certificate error.',
        59 => 'SSL cipher error.',
        60 => 'SSL CACertificate failed.',
        61 => 'Invalid content encoding.',
        62 => 'Invalid LDAP url.',
        63 => 'Filesize exceeded.',
        64 => 'SSL Failed.',
        65 => 'CURLE_SEND_FAIL_REWIND.',
        66 => 'SSL engine initalization failed.',
        67 => 'CURLE_LOGIN_DENIED.',
        68 => 'CURLE_TFTP_NOTFOUND.',
        69 => 'CURLE_TFTP_PERM.',
        70 => 'CURLE_REMOTE_DISK_FULL.',
        71 => 'CURLE_TFTP_ILLEGAL.',
        72 => 'CURLE_TFTP_UNKNOWNID.',
        73 => 'Remote file already exists.',
        74 => 'No such user on FTP server.',
        75 => 'Conversion failed.',
        76 => 'Conversion required.',
        77 => 'SSL CACertificate bad file.',
        78 => 'Remove file not found.',
        79 => 'SSH error.',
        80 => 'SSL Shutdown failed.',
        81 => 'Again.',
        82 => 'SSL bad CRL file.',
        83 => 'SSL issuer error.',
        84 => 'FTP pret failed.',
        85 => 'CURLE_RTSP_CSEQ_ERROR.',
        86 => 'CURLE_RTSP_SESSION_ERROR.',
        87 => 'CURLE_FTP_BAD_FILE_LIST.',
        88 => 'CURLE_CHUNK_FAILED.',
    

    ];
}
