Passed
Push — master ( 57ebbd...f70266 )
by Shahrad
01:49
created

CurlInfo   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 210
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 42
dl 0
loc 210
rs 10
c 1
b 0
f 0
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
 * Class CurlInfo
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
}