@@ -112,20 +112,20 @@ private function setStatistics($curl)
112
112
private function setEffectiveRequestHeaders ($ curl )
113
113
{
114
114
// Build effective request headers
115
- $ effectiveRequestHeaders = preg_split (
115
+ $ requestHeaders = preg_split (
116
116
'/\r\n/ ' ,
117
117
curl_getinfo ($ curl , CURLINFO_HEADER_OUT ),
118
118
null ,
119
119
PREG_SPLIT_NO_EMPTY
120
120
);
121
- foreach ($ effectiveRequestHeaders as $ effectiveRequestHeader ) {
122
- if (strpos ($ effectiveRequestHeader , ': ' ) !== false ) {
123
- $ headerName = mb_substr ($ effectiveRequestHeader , 0 , strpos ($ effectiveRequestHeader , ': ' ));
124
- $ headerValue = mb_substr ($ effectiveRequestHeader , strpos ($ effectiveRequestHeader , ': ' ) + 1 );
121
+ foreach ($ requestHeaders as $ requestHeader ) {
122
+ if (strpos ($ requestHeader , ': ' ) !== false ) {
123
+ $ headerName = mb_substr ($ requestHeader , 0 , strpos ($ requestHeader , ': ' ));
124
+ $ headerValue = mb_substr ($ requestHeader , strpos ($ requestHeader , ': ' ) + 1 );
125
125
$ headerValues = explode (', ' , $ headerValue );
126
126
$ this ->effectiveRequestHeaders [] = new RequestHeader ($ headerName , $ headerValues );
127
127
} else {
128
- $ this ->effectiveRequestStatus = $ effectiveRequestHeader ;
128
+ $ this ->effectiveRequestStatus = $ requestHeader ;
129
129
}
130
130
}
131
131
return $ this ;
@@ -138,7 +138,7 @@ private function setEffectiveRequestHeaders($curl)
138
138
private function setResponseData ($ responseBody )
139
139
{
140
140
// Parse response
141
- $ parsedResponseHeaders = array ();
141
+ $ responseHeaders = array ();
142
142
$ responseStatusText = null ;
143
143
$ responseStatusCode = null ;
144
144
if (strpos ($ responseBody , "\r\n\r\n" ) !== false ) {
@@ -158,16 +158,9 @@ private function setResponseData($responseBody)
158
158
|| !$ responseStatusCode >= 400
159
159
)
160
160
);
161
- $ parsedResponseHeaders = preg_split ('/\r\n/ ' , $ responseHeader , null , PREG_SPLIT_NO_EMPTY );
162
- }
163
- foreach ($ parsedResponseHeaders as $ parsedResponseHeader ) {
164
- if (strpos ($ parsedResponseHeader , ': ' ) !== false ) {
165
- $ headerName = mb_substr ($ parsedResponseHeader , 0 , strpos ($ parsedResponseHeader , ': ' ));
166
- $ headerValue = mb_substr ($ parsedResponseHeader , strpos ($ parsedResponseHeader , ': ' ) + 1 );
167
- $ headerValues = explode (', ' , $ headerValue );
168
- $ this ->headers [] = new Header ($ headerName , $ headerValues );
169
- }
161
+ $ responseHeaders = preg_split ('/\r\n/ ' , $ responseHeader , null , PREG_SPLIT_NO_EMPTY );
170
162
}
163
+ $ this ->setResponseHeader ($ responseHeaders );
171
164
if (!is_null ($ responseStatusCode )) {
172
165
$ this ->statusCode = $ responseStatusCode ;
173
166
}
@@ -177,4 +170,22 @@ private function setResponseData($responseBody)
177
170
$ this ->body = $ responseBody ;
178
171
return $ this ;
179
172
}
173
+
174
+ /**
175
+ * @param string[] $responseHeaders
176
+ * @return $this
177
+ */
178
+ private function setResponseHeader (array $ responseHeaders )
179
+ {
180
+ foreach ($ responseHeaders as $ responseHeader ) {
181
+ if (strpos ($ responseHeader , ': ' ) !== false ) {
182
+ $ headerName = mb_substr ($ responseHeader , 0 , strpos ($ responseHeader , ': ' ));
183
+ $ headerValue = mb_substr ($ responseHeader , strpos ($ responseHeader , ': ' ) + 1 );
184
+ $ headerValues = explode (', ' , $ headerValue );
185
+ $ this ->headers [] = new Header ($ headerName , $ headerValues );
186
+ }
187
+ }
188
+ return $ this ;
189
+ }
190
+
180
191
}
0 commit comments