AnyEvent-RPC
view release on metacpan or search on metacpan
lib/AnyEvent/RPC/Enc.pm view on Meta::CPAN
}
if (exists $args{headers}) {
@{$req{headers}}{keys %{$args{headers}}} = values %{$args{headers}};
}
return %req;
}
sub decode_response {
my $self = shift;
my $res = shift; # don't decode
return $res->decoded_content( charset => 'none' );
}
sub decode {
my $self = shift;
my $rpc = shift;
my $res = shift;
if (defined( my $response = eval { $self->decode_response($res) } )) {
if ($res->is_success) {
return $response;
} else {
lib/AnyEvent/RPC/Enc/REST.pm view on Meta::CPAN
my $rpc = shift;
my %args = @_;
$args{data} = hash2xml( $args{data}, %H2X ) if $args{data} and ref $args{data};
$args{headers}{'Content-Type'} = 'text/xml';
$self->next::method($rpc,%args);
}
sub decode_response {
my $self = shift;
my $res = shift;
my $data = $res->decoded_content( charset => 'none' );
if ( my $doc = eval { xml2hash($data, %H2X) } ) {
return $doc;
} else {
die "$@";
}
}
1;
lib/AnyEvent/RPC/Enc/YAML.pm view on Meta::CPAN
my $rpc = shift;
my %args = @_;
$args{data} = Dump( $args{data} ) if $args{data} and ref $args{data};
$args{headers}{'Content-Type'} = 'text/x-yaml';
$self->next::method($rpc,%args);
}
sub decode_response {
my $self = shift;
my $res = shift;
my $data = $res->decoded_content( charset => 'none' );
if ( my $doc = eval { Load( $data ) } ) {
return $doc;
} else {
die "$@";
}
}
1;
( run in 0.322 second using v1.01-cache-2.11-cpan-26ccb49234f )