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
|
|
|
|