diff --git a/Pest.php b/Pest.php index 7cb9d86..1f9cf1f 100644 --- a/Pest.php +++ b/Pest.php @@ -127,6 +127,15 @@ public function setupProxy($host, $port, $user = NULL, $pass = NULL) $this->curl_opts[CURLOPT_PROXYUSERPWD] = $user . ":" . $pass; } } + + /** + * Allow overriding of `http_build_query()` for idiosyncratic APIs + * @param mixed $data + * @return string + **/ + protected function http_build_query($data) { + return http_build_query($data); + } /** * Perform HTTP GET request @@ -143,7 +152,7 @@ public function get($url, $data = array(), $headers=array()) if ($pos !== false) { $url = substr($url, 0, $pos); } - $url .= '?' . http_build_query($data); + $url .= '?' . $this->http_build_query($data); } $curl_opts = $this->curl_opts; @@ -410,7 +419,7 @@ public function prepData($data) } } - return ($multipart) ? $data : http_build_query($data); + return ($multipart) ? $data : $this->http_build_query($data); } else { return $data; } @@ -452,7 +461,7 @@ public function put($url, $data, $headers = array()) */ public function patch($url, $data, $headers = array()) { - $data = (is_array($data)) ? http_build_query($data) : $data; + $data = (is_array($data)) ? $this->http_build_query($data) : $data; $curl_opts = $this->curl_opts; $curl_opts[CURLOPT_CUSTOMREQUEST] = 'PATCH';