@@ -275,7 +275,7 @@ public function put(
275
275
array $ parameters = [],
276
276
bool $ json = false
277
277
) {
278
- return $ this ->http ('PUT ' , self ::API_HOST , $ path , $ parameters , false );
278
+ return $ this ->http ('PUT ' , self ::API_HOST , $ path , $ parameters , $ json );
279
279
}
280
280
281
281
/**
@@ -671,21 +671,22 @@ private function request(
671
671
break ;
672
672
case 'POST ' :
673
673
$ options [CURLOPT_POST ] = true ;
674
- if ($ json ) {
675
- $ options [CURLOPT_HTTPHEADER ][] =
676
- 'Content-type: application/json ' ;
677
- $ options [CURLOPT_POSTFIELDS ] = json_encode ($ postfields );
678
- } else {
679
- $ options [CURLOPT_POSTFIELDS ] = Util::buildHttpQuery (
680
- $ postfields ,
681
- );
682
- }
674
+ $ options = $ this ->setPostfieldsOptions (
675
+ $ options ,
676
+ $ postfields ,
677
+ $ json ,
678
+ );
683
679
break ;
684
680
case 'DELETE ' :
685
681
$ options [CURLOPT_CUSTOMREQUEST ] = 'DELETE ' ;
686
682
break ;
687
683
case 'PUT ' :
688
684
$ options [CURLOPT_CUSTOMREQUEST ] = 'PUT ' ;
685
+ $ options = $ this ->setPostfieldsOptions (
686
+ $ options ,
687
+ $ postfields ,
688
+ $ json ,
689
+ );
689
690
break ;
690
691
}
691
692
@@ -765,4 +766,28 @@ private function curlCaOpt(string $path): int
765
766
{
766
767
return is_dir ($ path ) ? CURLOPT_CAPATH : CURLOPT_CAINFO ;
767
768
}
769
+
770
+ /**
771
+ * Set options for JSON Requests
772
+ *
773
+ * @param array $options
774
+ * @param array $postfields
775
+ * @param bool $json
776
+ *
777
+ * @return array
778
+ */
779
+ private function setPostfieldsOptions (
780
+ array $ options ,
781
+ array $ postfields ,
782
+ bool $ json
783
+ ): array {
784
+ if ($ json ) {
785
+ $ options [CURLOPT_HTTPHEADER ][] = 'Content-type: application/json ' ;
786
+ $ options [CURLOPT_POSTFIELDS ] = json_encode ($ postfields );
787
+ } else {
788
+ $ options [CURLOPT_POSTFIELDS ] = Util::buildHttpQuery ($ postfields );
789
+ }
790
+
791
+ return $ options ;
792
+ }
768
793
}
0 commit comments