From 2fe2614fbfe04456222036e84f3e8b722c71374c Mon Sep 17 00:00:00 2001 From: Danila Tarasov Date: Wed, 1 Feb 2017 21:54:17 +0300 Subject: [PATCH 1/3] Fix CURL Json POST #3489 --- lib/internal/Magento/Framework/HTTP/Client/Curl.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/internal/Magento/Framework/HTTP/Client/Curl.php b/lib/internal/Magento/Framework/HTTP/Client/Curl.php index 713ea19ab9789..5235eb25737af 100644 --- a/lib/internal/Magento/Framework/HTTP/Client/Curl.php +++ b/lib/internal/Magento/Framework/HTTP/Client/Curl.php @@ -338,17 +338,18 @@ public function getStatus() * @param string $method * @param string $uri * @param array $params + * @param bool $json * @return void * @SuppressWarnings(PHPMD.CyclomaticComplexity) * @SuppressWarnings(PHPMD.NPathComplexity) */ - protected function makeRequest($method, $uri, $params = []) + protected function makeRequest($method, $uri, $params = [], $json = false) { $this->_ch = curl_init(); $this->curlOption(CURLOPT_URL, $uri); if ($method == 'POST') { $this->curlOption(CURLOPT_POST, 1); - $this->curlOption(CURLOPT_POSTFIELDS, http_build_query($params)); + $this->curlOption(CURLOPT_POSTFIELDS, $json ? json_encode($params) : http_build_query($params)); } elseif ($method == "GET") { $this->curlOption(CURLOPT_HTTPGET, 1); } else { From 4b749242586007f5be9fdac728abb1583b713dd5 Mon Sep 17 00:00:00 2001 From: Grohotun Date: Fri, 3 Feb 2017 13:58:41 +0400 Subject: [PATCH 2/3] Update Curl.php --- lib/internal/Magento/Framework/HTTP/Client/Curl.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/internal/Magento/Framework/HTTP/Client/Curl.php b/lib/internal/Magento/Framework/HTTP/Client/Curl.php index 5235eb25737af..51d56875d54e0 100644 --- a/lib/internal/Magento/Framework/HTTP/Client/Curl.php +++ b/lib/internal/Magento/Framework/HTTP/Client/Curl.php @@ -232,13 +232,14 @@ public function get($uri) * * @param string $uri * @param array $params + * @param bool $json * @return void * * @see \Magento\Framework\HTTP\Client#post($uri, $params) */ - public function post($uri, $params) + public function post($uri, $params, $json = false) { - $this->makeRequest("POST", $uri, $params); + $this->makeRequest("POST", $uri, $params, $json = false); } /** From f2def924e819b5d17277920786bcbccab5b4e499 Mon Sep 17 00:00:00 2001 From: Grohotun Date: Wed, 8 Feb 2017 00:54:28 +0400 Subject: [PATCH 3/3] Update Curl.php --- lib/internal/Magento/Framework/HTTP/Client/Curl.php | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/lib/internal/Magento/Framework/HTTP/Client/Curl.php b/lib/internal/Magento/Framework/HTTP/Client/Curl.php index 51d56875d54e0..8efb04220a099 100644 --- a/lib/internal/Magento/Framework/HTTP/Client/Curl.php +++ b/lib/internal/Magento/Framework/HTTP/Client/Curl.php @@ -232,14 +232,13 @@ public function get($uri) * * @param string $uri * @param array $params - * @param bool $json * @return void * * @see \Magento\Framework\HTTP\Client#post($uri, $params) */ - public function post($uri, $params, $json = false) + public function post($uri, $params) { - $this->makeRequest("POST", $uri, $params, $json = false); + $this->makeRequest("POST", $uri, $params); } /** @@ -338,19 +337,18 @@ public function getStatus() * Make request * @param string $method * @param string $uri - * @param array $params - * @param bool $json + * @param array array|string $params * @return void * @SuppressWarnings(PHPMD.CyclomaticComplexity) * @SuppressWarnings(PHPMD.NPathComplexity) */ - protected function makeRequest($method, $uri, $params = [], $json = false) + protected function makeRequest($method, $uri, $params = []) { $this->_ch = curl_init(); $this->curlOption(CURLOPT_URL, $uri); if ($method == 'POST') { $this->curlOption(CURLOPT_POST, 1); - $this->curlOption(CURLOPT_POSTFIELDS, $json ? json_encode($params) : http_build_query($params)); + $this->curlOption(CURLOPT_POSTFIELDS, is_array($params) ? http_build_query($params) : $params); } elseif ($method == "GET") { $this->curlOption(CURLOPT_HTTPGET, 1); } else {