From dd0a71421a03e4086e6d0e7cb4d7ce5684a3f8c8 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Thu, 2 Nov 2023 23:54:49 +0000 Subject: [PATCH] Fix rest request bugs --- Message/Http/Rest.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Message/Http/Rest.php b/Message/Http/Rest.php index 20e96aa53..c72843525 100755 --- a/Message/Http/Rest.php +++ b/Message/Http/Rest.php @@ -66,21 +66,22 @@ final class Rest break; case RequestMethod::POST: \curl_setopt($curl, \CURLOPT_CUSTOMREQUEST, 'POST'); + \curl_setopt($curl, \CURLOPT_POST, 1); break; case RequestMethod::PUT: \curl_setopt($curl, \CURLOPT_CUSTOMREQUEST, 'PUT'); + \curl_setopt($curl, \CURLOPT_POST, 1); break; case RequestMethod::DELETE: \curl_setopt($curl, \CURLOPT_CUSTOMREQUEST, 'DELETE'); + \curl_setopt($curl, \CURLOPT_POST, 1); break; } // handle none-get - if ($request->getMethod() !== RequestMethod::GET) { - \curl_setopt($curl, \CURLOPT_POST, 1); - + if ($request->getMethod() !== RequestMethod::GET && !empty($request->data)) { // handle different content types - $contentType = $requestHeaders['Content-Type'] ?? []; + $contentType = $request->header->get('content-type'); if (empty($contentType) || \in_array(MimeType::M_POST, $contentType)) { /* @phpstan-ignore-next-line */ \curl_setopt($curl, \CURLOPT_POSTFIELDS, \http_build_query($request->data));