CurlInfo   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 210
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 42
dl 0
loc 210
c 0
b 0
f 0
rs 10
wmc 4

2 Methods

Rating   Name   Duplication   Size   Complexity  
A set() 0 5 3
A __construct() 0 3 1
1
<?php
2
3
namespace EasyHttp\Enums;
4
5
/**
6
 * CurlInfo class
7
 *
8
 * @link    https://github.com/shahradelahi/easy-http
9
 * @author  Shahrad Elahi (https://github.com/shahradelahi)
10
 * @license https://github.com/shahradelahi/easy-http/blob/master/LICENSE (MIT License)
11
 */
12
class CurlInfo
13
{
14
15
	/**
16
	 * @var string
17
	 */
18
	public string $URL;
19
20
	/**
21
	 * @var string
22
	 */
23
	public string $CONTENT_TYPE;
24
25
	/**
26
	 * @var int
27
	 */
28
	public int $HTTP_CODE;
29
30
	/**
31
	 * @var int
32
	 */
33
	public int $HEADER_SIZE;
34
35
	/**
36
	 * @var int
37
	 */
38
	public int $REQUEST_SIZE;
39
40
	/**
41
	 * @var int
42
	 */
43
	public int $FILETIME;
44
45
	/**
46
	 * @var int
47
	 */
48
	public int $SSL_VERIFY_RESULT;
49
50
	/**
51
	 * @var int
52
	 */
53
	public int $REDIRECT_COUNT;
54
55
	/**
56
	 * @var float
57
	 */
58
	public float $TOTAL_TIME;
59
60
	/**
61
	 * @var float
62
	 */
63
	public float $NAMELOOKUP_TIME;
64
65
	/**
66
	 * @var float
67
	 */
68
	public float $CONNECT_TIME;
69
70
	/**
71
	 * @var float
72
	 */
73
	public float $PRETRANSFER_TIME;
74
75
	/**
76
	 * @var int
77
	 */
78
	public int $SIZE_UPLOAD;
79
80
	/**
81
	 * @var int
82
	 */
83
	public int $SIZE_DOWNLOAD;
84
85
	/**
86
	 * @var int
87
	 */
88
	public int $SPEED_DOWNLOAD;
89
90
	/**
91
	 * @var int
92
	 */
93
	public int $SPEED_UPLOAD;
94
95
	/**
96
	 * @var int
97
	 */
98
	public int $DOWNLOAD_CONTENT_LENGTH;
99
100
	/**
101
	 * @var int
102
	 */
103
	public int $UPLOAD_CONTENT_LENGTH;
104
105
	/**
106
	 * @var float
107
	 */
108
	public float $STARTTRANSFER_TIME;
109
110
	/**
111
	 * @var int
112
	 */
113
	public int $REDIRECT_TIME;
114
115
	/**
116
	 * @var string
117
	 */
118
	public string $REDIRECT_URL;
119
120
	/**
121
	 * @var string
122
	 */
123
	public string $PRIMARY_IP;
124
125
	/**
126
	 * @var array
127
	 */
128
	public array $CERTINFO;
129
130
	/**
131
	 * @var int
132
	 */
133
	public int $PRIMARY_PORT;
134
135
	/**
136
	 * @var string
137
	 */
138
	public string $LOCAL_IP;
139
140
	/**
141
	 * @var int
142
	 */
143
	public int $LOCAL_PORT;
144
145
	/**
146
	 * @var int
147
	 */
148
	public int $HTTP_VERSION;
149
150
	/**
151
	 * @var int
152
	 */
153
	public int $PROTOCOL;
154
155
	/**
156
	 * @var int
157
	 */
158
	public int $SSL_VERIFYRESULT;
159
160
	/**
161
	 * @var string
162
	 */
163
	public string $SCHEME;
164
165
	/**
166
	 * @var int
167
	 */
168
	public int $APPCONNECT_TIME_US;
169
170
	/**
171
	 * @var int
172
	 */
173
	public int $CONNECT_TIME_US;
174
175
	/**
176
	 * @var int
177
	 */
178
	public int $NAMELOOKUP_TIME_US;
179
180
	/**
181
	 * @var int
182
	 */
183
	public int $PRETRANSFER_TIME_US;
184
185
	/**
186
	 * @var int
187
	 */
188
	public int $REDIRECT_TIME_US;
189
190
	/**
191
	 * @var int
192
	 */
193
	public int $STARTTRANSFER_TIME_US;
194
195
	/**
196
	 * @var int
197
	 */
198
	public int $TOTAL_TIME_US;
199
200
	/**
201
	 * The Constructor
202
	 *
203
	 * @param array $curlInfo
204
	 * @return void
205
	 */
206
	public function __construct(array $curlInfo = [])
207
	{
208
		$this->set($curlInfo);
209
	}
210
211
	/**
212
	 * Set CurlInfo
213
	 *
214
	 * @param array $curlInfo
215
	 * @return void
216
	 */
217
	public function set(array $curlInfo): void
218
	{
219
		foreach ($curlInfo as $key => $value) {
220
			if (property_exists($this, strtoupper($key))) {
221
				$this->{strtoupper($key)} = $value;
222
			}
223
		}
224
	}
225
226
}