diff --git a/lib/internal/Magento/Framework/HTTP/Client/Socket.php b/lib/internal/Magento/Framework/HTTP/Client/Socket.php index 8157081139788..d229baa5dd476 100644 --- a/lib/internal/Magento/Framework/HTTP/Client/Socket.php +++ b/lib/internal/Magento/Framework/HTTP/Client/Socket.php @@ -273,7 +273,7 @@ protected function parseUrl($uri) * Make POST request * * @param string $uri - * @param array $params + * @param array|string $params use string in case of JSON or XML POST request * @return void */ public function post($uri, $params) @@ -455,10 +455,12 @@ public function getStatus() /** * Make request + * * @param string $method * @param string $uri - * @param array $params + * @param array|string $params use string in case of JSON or XML POST request * @return void + * @throws \Exception */ protected function makeRequest($method, $uri, $params = []) { @@ -473,8 +475,8 @@ protected function makeRequest($method, $uri, $params = []) $appendHeaders = []; $paramsStr = false; - if ($isPost && count($params)) { - $paramsStr = http_build_query($params); + if ($isPost && $params) { + $paramsStr = is_array($params) ? http_build_query($params) : $params; $appendHeaders['Content-type'] = 'application/x-www-form-urlencoded'; $appendHeaders['Content-length'] = strlen($paramsStr); }