@@ -357,6 +357,7 @@ private function executeAction($resource, $method, $parameters = [])
357
357
358
358
$ headers = [];
359
359
$ methodType = "" ;
360
+ $ data = "" ; // default POSTFIELDS value as defined in https://curl.se/libcurl/c/CURLOPT_POSTFIELDS.html
360
361
$ prox_ch = curl_init ();
361
362
switch ($ method ) {
362
363
case "GET " :
@@ -368,18 +369,28 @@ private function executeAction($resource, $method, $parameters = [])
368
369
369
370
case "PUT " :
370
371
curl_setopt ($ prox_ch , CURLOPT_CUSTOMREQUEST , "PUT " );
371
- $ data = json_encode ($ params );
372
- array_push ($ headers , 'Content-Type: application/json ' );
373
- array_push ($ headers , 'Content-Length: ' . strlen ($ data ));
372
+
373
+ // data from params only if there are any
374
+ if (count ($ params )) {
375
+ $ data = json_encode ($ params );
376
+ array_push ($ headers , 'Content-Type: application/json ' );
377
+ array_push ($ headers , 'Content-Length: ' . strlen ($ data ));
378
+ }
379
+
374
380
curl_setopt ($ prox_ch , CURLOPT_POSTFIELDS , $ data );
375
381
$ methodType = "SET " ;
376
382
break ;
377
383
378
384
case "POST " :
379
385
curl_setopt ($ prox_ch , CURLOPT_POST , true );
380
- $ data = json_encode ($ params );
381
- array_push ($ headers , 'Content-Type: application/json ' );
382
- array_push ($ headers , 'Content-Length: ' . strlen ($ data ));
386
+
387
+ // data from params only if there are any
388
+ if (count ($ params )) {
389
+ $ data = json_encode ($ params );
390
+ array_push ($ headers , 'Content-Type: application/json ' );
391
+ array_push ($ headers , 'Content-Length: ' . strlen ($ data ));
392
+ }
393
+
383
394
curl_setopt ($ prox_ch , CURLOPT_POSTFIELDS , $ data );
384
395
$ methodType = "CREATE " ;
385
396
break ;
0 commit comments