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.238 second using v1.01-cache-2.11-cpan-26ccb49234f )