Dancer2-Plugin-RPC

 view release on metacpan or  search on metacpan

example/lib/Example/Client/MetaCpan.pm  view on Meta::CPAN

package Example::Client::MetaCpan;
use Moo;

use JSON;

with 'Client::HTTP';

sub call {
    my $self = shift;
    my ($query) = @_;

    $query =~ s{::}{-}g;
    my $params = $self->client->www_form_urlencode({q => $query});

    (my $endpoint = $self->base_uri->as_string) =~ s{/+$}{};
    my $response = $self->client->get("$endpoint/?$params");

    my $content = eval { decode_json($response->{content}) };
    return $content if !$@;
    return { error => $@, data => $response->{content} };
}

use namespace::autoclean;
1;

=head1 COPYRIGHT

(c) MMXVII - Abe Timmerman <abeltje@cpan.org>

=cut



( run in 0.675 second using v1.01-cache-2.11-cpan-524268b4103 )