CurlFailure   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 95
Duplicated Lines 0 %

Importance

Changes 2
Bugs 1 Features 0
Metric Value
eloc 70
c 2
b 1
f 0
dl 0
loc 95
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A setContext() 0 3 1
A getContext() 0 3 1
1
<?php
2
3
namespace alkemann\h2l\exceptions;
4
5
/**
6
 * Class CurlFailure
7
 *
8
 * @package alkemann\h2l\exceptions
9
 */
10
class CurlFailure extends \Exception
11
{
12
    /** @var array */
13
    protected array $context = [];
14
15
    /**
16
     * @return array<mixed>
17
     */
18
    public function getContext(): array
19
    {
20
        return $this->context;
21
    }
22
23
    /**
24
     * @param array<mixed> $context
25
     */
26
    public function setContext(array $context): void
27
    {
28
        $this->context = $context;
29
    }
30
31
    /**
32
     * @TODO Use constants?
33
     * @var array<int, string>
34
     */
35
    public static $code_to_constant_name = [
36
        1 => "CURLE_UNSUPPORTED_PROTOCOL",
37
        2 => "CURLE_FAILED_INIT",
38
        3 => "CURLE_URL_MALFORMAT",
39
        4 => "CURLE_URL_MALFORMAT_USER",
40
        5 => "CURLE_COULDNT_RESOLVE_PROXY",
41
        6 => "CURLE_COULDNT_RESOLVE_HOST",
42
        7 => "CURLE_COULDNT_CONNECT",
43
        8 => "CURLE_FTP_WEIRD_SERVER_REPLY",
44
        9 => "CURLE_FTP_ACCESS_DENIED",
45
        10 => "CURLE_FTP_USER_PASSWORD_INCORRECT",
46
        11 => "CURLE_FTP_WEIRD_PASS_REPLY",
47
        12 => "CURLE_FTP_WEIRD_USER_REPLY",
48
        13 => "CURLE_FTP_WEIRD_PASV_REPLY",
49
        14 => "CURLE_FTP_WEIRD_227_FORMAT",
50
        15 => "CURLE_FTP_CANT_GET_HOST",
51
        16 => "CURLE_FTP_CANT_RECONNECT",
52
        17 => "CURLE_FTP_COULDNT_SET_BINARY",
53
        // 18 => "CURLE_FTP_PARTIAL_FILE",
54
        18 => "CURLE_PARTIAL_FILE",
55
        19 => "CURLE_FTP_COULDNT_RETR_FILE",
56
        20 => "CURLE_FTP_WRITE_ERROR",
57
        21 => "CURLE_FTP_QUOTE_ERROR",
58
        22 => "CURLE_HTTP_NOT_FOUND",
59
        // 22 => "CURLE_HTTP_RETURNED_ERROR",
60
        23 => "CURLE_WRITE_ERROR",
61
        24 => "CURLE_MALFORMAT_USER",
62
        25 => "CURLE_FTP_COULDNT_STOR_FILE",
63
        26 => "CURLE_READ_ERROR",
64
        27 => "CURLE_OUT_OF_MEMORY",
65
        28 => "CURLE_OPERATION_TIMEDOUT",
66
        // 28 => "CURLE_OPERATION_TIMEOUTED",
67
        29 => "CURLE_FTP_COULDNT_SET_ASCII",
68
        30 => "CURLE_FTP_PORT_FAILED",
69
        31 => "CURLE_FTP_COULDNT_USE_REST",
70
        32 => "CURLE_FTP_COULDNT_GET_SIZE",
71
        33 => "CURLE_HTTP_RANGE_ERROR",
72
        34 => "CURLE_HTTP_POST_ERROR",
73
        35 => "CURLE_SSL_CONNECT_ERROR",
74
        36 => "CURLE_BAD_DOWNLOAD_RESUME",
75
        // 36 => "CURLE_FTP_BAD_DOWNLOAD_RESUME",
76
        37 => "CURLE_FILE_COULDNT_READ_FILE",
77
        38 => "CURLE_LDAP_CANNOT_BIND",
78
        39 => "CURLE_LDAP_SEARCH_FAILED",
79
        40 => "CURLE_LIBRARY_NOT_FOUND",
80
        41 => "CURLE_FUNCTION_NOT_FOUND",
81
        42 => "CURLE_ABORTED_BY_CALLBACK",
82
        43 => "CURLE_BAD_FUNCTION_ARGUMENT",
83
        44 => "CURLE_BAD_CALLING_ORDER",
84
        45 => "CURLE_HTTP_PORT_FAILED",
85
        46 => "CURLE_BAD_PASSWORD_ENTERED",
86
        47 => "CURLE_TOO_MANY_REDIRECTS",
87
        48 => "CURLE_UNKNOWN_TELNET_OPTION",
88
        49 => "CURLE_TELNET_OPTION_SYNTAX",
89
        50 => "CURLE_OBSOLETE",
90
        51 => "CURLE_SSL_PEER_CERTIFICATE",
91
        52 => "CURLE_GOT_NOTHING",
92
        53 => "CURLE_SSL_ENGINE_NOTFOUND",
93
        54 => "CURLE_SSL_ENGINE_SETFAILED",
94
        55 => "CURLE_SEND_ERROR",
95
        56 => "CURLE_RECV_ERROR",
96
        57 => "CURLE_SHARE_IN_USE",
97
        58 => "CURLE_SSL_CERTPROBLEM",
98
        59 => "CURLE_SSL_CIPHER",
99
        60 => "CURLE_SSL_CACERT",
100
        61 => "CURLE_BAD_CONTENT_ENCODING",
101
        62 => "CURLE_LDAP_INVALID_URL",
102
        63 => "CURLE_FILESIZE_EXCEEDED",
103
        64 => "CURLE_FTP_SSL_FAILED",
104
        79 => "CURLE_SSH"
105
    ];
106
}
107