my %body_params;
my %given_params = @_;
my %extra_params = %given_params;
+ my %method_params = %{$method->{'parameters'}};
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 ($prop_name, $prop_value) =
+ each %{$method->{'request'}->{'properties'}}) {
+ if (ref($prop_value) eq 'HASH' && $prop_value->{'$ref'}) {
+ $method_params{$prop_name} = { 'type' => 'object' };
+ }
+ }
}
- while (my ($param_name, $param) = each %{$method->{'parameters'}}) {
+ while (my ($param_name, $param) = each %method_params) {
delete $extra_params{$param_name};
if ($param->{'required'} && !exists $given_params{$param_name}) {
croak("Required parameter not supplied: $param_name");
if (ref $property eq '' || $property eq undef) {
$param_value{$property_name} = $property;
}
+ elsif (ref $property eq 'HASH') {
+ $param_value{$property_name} = {};
+ while (my ($k, $v) = each %$property) {
+ $param_value{$property_name}->{$k} = $v;
+ }
+ }
}
}
$body_params{$param_name} = \%param_value;