@@ -17,7 +17,7 @@ class Client
1717 CURLOPT_RETURNTRANSFER => true ,
1818 CURLOPT_FOLLOWLOCATION => false ,
1919 CURLOPT_SSL_VERIFYPEER => false ,
20- CURLOPT_USERAGENT => 'dHttp '
20+ CURLOPT_USERAGENT => 'PHP dHttp/Client 1.3 '
2121 ];
2222 /**
2323 * @var array
@@ -57,7 +57,7 @@ public function __construct($url = null, array $options = [])
5757 public function setUrl ($ url )
5858 {
5959 if ($ url !== null ) {
60- $ this ->_options [CURLOPT_URL ] = Url:: validateUrl ($ url );
60+ $ this ->_options [CURLOPT_URL ] = $ this -> prepareUrl ($ url );
6161 }
6262
6363 return $ this ;
@@ -176,7 +176,10 @@ public function addOptions(array $params)
176176 */
177177 public function post ($ fields = [], array $ options = [])
178178 {
179- return $ this ->get ($ options + [CURLOPT_POST => true , CURLOPT_POSTFIELDS => is_array ($ fields ) ? http_build_query ($ fields ) : $ fields ]);
179+ return $ this ->get ($ options + [
180+ CURLOPT_POST => true ,
181+ CURLOPT_POSTFIELDS => is_array ($ fields ) ? http_build_query ($ fields ) : $ fields
182+ ]);
180183 }
181184
182185 /**
@@ -188,7 +191,10 @@ public function post($fields = [], array $options = [])
188191 */
189192 public function put ($ fields = [], array $ options = [])
190193 {
191- return $ this ->get ($ options + [CURLOPT_CUSTOMREQUEST => 'PUT ' , CURLOPT_POSTFIELDS => is_array ($ fields ) ? http_build_query ($ fields ) : $ fields ]);
194+ return $ this ->get ($ options + [
195+ CURLOPT_CUSTOMREQUEST => 'PUT ' ,
196+ CURLOPT_POSTFIELDS => is_array ($ fields ) ? http_build_query ($ fields ) : $ fields
197+ ]);
192198 }
193199
194200 /**
@@ -324,6 +330,25 @@ public function reset()
324330 return $ this ;
325331 }
326332
333+ /**
334+ * @param $url
335+ * @return string
336+ */
337+ public function prepareUrl ($ url )
338+ {
339+ if (is_array ($ url ) && count ($ url )) {
340+ $ newUrl = $ url [0 ];
341+
342+ if (isset ($ url [1 ]) && is_array ($ url [1 ])) {
343+ $ newUrl = '? ' . http_build_query ($ url [1 ]);
344+ }
345+ } else {
346+ $ newUrl = $ url ;
347+ }
348+
349+ return $ newUrl ;
350+ }
351+
327352 /**
328353 * Return curl information
329354 *
0 commit comments