projects
/
arvados.git
/ commitdiff
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f4cd9f0
)
Look in method[request][properties][$ref] for resource object
author
Tom Clegg <tom@curoverse.com>
Tue, 11 Feb 2014 22:28:32 +0000
(14:28 -0800)
committer
Tom Clegg <tom@curoverse.com>
Tue, 11 Feb 2014 22:30:28 +0000
(14:30 -0800)
argument.
Fixes #2084
sdk/perl/lib/Arvados/ResourceMethod.pm
patch
|
blob
|
history
diff --git
a/sdk/perl/lib/Arvados/ResourceMethod.pm
b/sdk/perl/lib/Arvados/ResourceMethod.pm
index fd577752b2c706324e1cd4c688ace24ff333938a..cfcc34a4882cc530dff8f9dd3f2959918f6482c3 100644
(file)
--- a/
sdk/perl/lib/Arvados/ResourceMethod.pm
+++ b/
sdk/perl/lib/Arvados/ResourceMethod.pm
@@
-28,6
+28,15
@@
sub execute
my %body_params;
my %given_params = @_;
my %extra_params = %given_params;
my %body_params;
my %given_params = @_;
my %extra_params = %given_params;
+ if ($method->{'request'}->{'properties'}) {
+ while (my ($prop_name, $prop_value) =
+ each %{$method->{'request'}->{'properties'}}) {
+ if (ref($prop_value) eq 'HASH' && $prop_value->{'$ref'}) {
+ $body_params{$prop_name} = $given_params{$prop_name};
+ delete $extra_params{$prop_name};
+ }
+ }
+ }
while (my ($param_name, $param) = each %{$method->{'parameters'}}) {
delete $extra_params{$param_name};
if ($param->{'required'} && !exists $given_params{$param_name}) {
while (my ($param_name, $param) = each %{$method->{'parameters'}}) {
delete $extra_params{$param_name};
if ($param->{'required'} && !exists $given_params{$param_name}) {