projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
2673: Use _method=GET hack to avoid combining request body with GET
[arvados.git]
/
sdk
/
perl
/
lib
/
Arvados
/
Request.pm
diff --git
a/sdk/perl/lib/Arvados/Request.pm
b/sdk/perl/lib/Arvados/Request.pm
index 4902b75c37455c7c55a3cdb4b0ef525b134b1944..07ca763d2b3efd6a3182c072ab92a023307c65a5 100644
(file)
--- a/
sdk/perl/lib/Arvados/Request.pm
+++ b/
sdk/perl/lib/Arvados/Request.pm
@@
-18,7
+18,7
@@
sub _init
{
my $self = shift;
$self->{'ua'} = new LWP::UserAgent(@_);
{
my $self = shift;
$self->{'ua'} = new LWP::UserAgent(@_);
- $self->{'ua'}->agent ("libarvados-perl/".$
Warehouse
::VERSION);
+ $self->{'ua'}->agent ("libarvados-perl/".$
Arvados
::VERSION);
$self;
}
$self;
}
@@
-32,10
+32,16
@@
sub process_request
{
my $self = shift;
my %req;
{
my $self = shift;
my %req;
- $req{$self->{'method'}} = $self->{'uri'};
+ my %content;
+ my $method = $self->{'method'};
+ if ($method eq 'GET' || $method eq 'HEAD') {
+ $content{'_method'} = $method;
+ $method = 'POST';
+ }
+ $req{$method} = $self->{'uri'};
$self->{'req'} = new HTTP::Request (%req);
$self->{'req'}->header('Authorization' => ('OAuth2 ' . $self->{'authToken'})) if $self->{'authToken'};
$self->{'req'} = new HTTP::Request (%req);
$self->{'req'}->header('Authorization' => ('OAuth2 ' . $self->{'authToken'})) if $self->{'authToken'};
-
my %content
;
+
$self->{'req'}->header('Accept' => 'application/json')
;
my ($p, $v);
while (($p, $v) = each %{$self->{'queryParams'}}) {
$content{$p} = (ref($v) eq "") ? $v : JSON::encode_json($v);
my ($p, $v);
while (($p, $v) = each %{$self->{'queryParams'}}) {
$content{$p} = (ref($v) eq "") ? $v : JSON::encode_json($v);