From: Tom Clegg Date: Fri, 4 Aug 2017 18:30:08 +0000 (-0400) Subject: 12078: Fix crash encoding booleans with libjson-perl 2.90. X-Git-Tag: 1.1.0~97^2 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/64b837f87103a59efb6d4dac2b8dfa3c7c40c09a 12078: Fix crash encoding booleans with libjson-perl 2.90. Arvados-DCO-1.1-Signed-off-by: Tom Clegg --- diff --git a/sdk/perl/lib/Arvados/Request.pm b/sdk/perl/lib/Arvados/Request.pm index 03d5428051..4523f7d6b3 100644 --- a/sdk/perl/lib/Arvados/Request.pm +++ b/sdk/perl/lib/Arvados/Request.pm @@ -46,9 +46,12 @@ sub process_request $self->{'req'} = new HTTP::Request (%req); $self->{'req'}->header('Authorization' => ('OAuth2 ' . $self->{'authToken'})) if $self->{'authToken'}; $self->{'req'}->header('Accept' => 'application/json'); + + # allow_nonref lets us encode JSON::true and JSON::false, see #12078 + my $json = JSON->new->allow_nonref; my ($p, $v); while (($p, $v) = each %{$self->{'queryParams'}}) { - $content{$p} = (ref($v) eq "") ? $v : JSON::encode_json($v); + $content{$p} = (ref($v) eq "") ? $v : $json->encode($v); } my $content; while (($p, $v) = each %content) {