@@ -112,20 +112,20 @@ private function setStatistics($curl)
112112 private function setEffectiveRequestHeaders ($ curl )
113113 {
114114 // Build effective request headers
115- $ effectiveRequestHeaders = preg_split (
115+ $ requestHeaders = preg_split (
116116 '/\r\n/ ' ,
117117 curl_getinfo ($ curl , CURLINFO_HEADER_OUT ),
118118 null ,
119119 PREG_SPLIT_NO_EMPTY
120120 );
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 );
125125 $ headerValues = explode (', ' , $ headerValue );
126126 $ this ->effectiveRequestHeaders [] = new RequestHeader ($ headerName , $ headerValues );
127127 } else {
128- $ this ->effectiveRequestStatus = $ effectiveRequestHeader ;
128+ $ this ->effectiveRequestStatus = $ requestHeader ;
129129 }
130130 }
131131 return $ this ;
@@ -138,7 +138,7 @@ private function setEffectiveRequestHeaders($curl)
138138 private function setResponseData ($ responseBody )
139139 {
140140 // Parse response
141- $ parsedResponseHeaders = array ();
141+ $ responseHeaders = array ();
142142 $ responseStatusText = null ;
143143 $ responseStatusCode = null ;
144144 if (strpos ($ responseBody , "\r\n\r\n" ) !== false ) {
@@ -158,16 +158,9 @@ private function setResponseData($responseBody)
158158 || !$ responseStatusCode >= 400
159159 )
160160 );
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 );
170162 }
163+ $ this ->setResponseHeader ($ responseHeaders );
171164 if (!is_null ($ responseStatusCode )) {
172165 $ this ->statusCode = $ responseStatusCode ;
173166 }
@@ -177,4 +170,22 @@ private function setResponseData($responseBody)
177170 $ this ->body = $ responseBody ;
178171 return $ this ;
179172 }
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+
180191}
0 commit comments