instead of always trying to encode them as x-www-form-urlencoded Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> --- src/PVE/APIServer/AnyEvent.pm | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/src/PVE/APIServer/AnyEvent.pm b/src/PVE/APIServer/AnyEvent.pm index b2ae99b..e9d87b3 100644 --- a/src/PVE/APIServer/AnyEvent.pm +++ b/src/PVE/APIServer/AnyEvent.pm @@ -745,11 +745,16 @@ sub proxy_request { my $content; if ($method eq 'POST' || $method eq 'PUT') { - $headers->{'Content-Type'} = 'application/x-www-form-urlencoded'; - # use URI object to format application/x-www-form-urlencoded content. - my $url = URI->new('http:'); - $url->query_form(%$params); - $content = $url->query; + if ($reqstate->{request}->header('Content-Type') =~ 'application/json') { + $headers->{'Content-Type'} = 'application/json'; + $content = encode_json($params); + } else { + $headers->{'Content-Type'} = 'application/x-www-form-urlencoded'; + # use URI object to format application/x-www-form-urlencoded content. + my $url = URI->new('http:'); + $url->query_form(%$params); + $content = $url->query; + } if (defined($content)) { $headers->{'Content-Length'} = length($content); } -- 2.30.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel