AnyEvent-HTTP-ScopedClient
view release on metacpan or search on metacpan
lib/AnyEvent/HTTP/ScopedClient.pm view on Meta::CPAN
sub get { shift->request( 'GET', @_ ) }
sub post { shift->request( 'POST', @_ ) }
sub patch { shift->request( 'PATCH', @_ ) }
sub put { shift->request( 'PUT', @_ ) }
sub delete { shift->request( 'DELETE', @_ ) }
sub head { shift->request( 'HEAD', @_ ) }
__PACKAGE__->meta->make_immutable;
1;
__END__
=pod
=encoding utf-8
=head1 NAME
AnyEvent::HTTP::ScopedClient - L<AnyEvent> based L<https://github.com/technoweenie/node-scoped-http-client>
=head1 VERSION
version 0.0.5
=head1 SYNOPSIS
my $client = AnyEvent::HTTP::ScopedClient->new('http://example.com');
$client->request('GET', sub {
my ($body, $hdr) = @_; # $body is undef if error occured
return if ( !$body || $hdr->{Status} !~ /^2/ );
# do something;
});
# shorcut for GET
$client->get(sub {
my ($body, $hdr) = @_;
# ...
});
# Content-Type: application/x-www-form-urlencoded
$client->post(
{ foo => 1, bar => 2 }, # note this.
sub {
my ($body, $hdr) = @_;
# ...
}
);
# application/x-www-form-urlencoded post request
$client->post(
"foo=1&bar=2" # and note this.
sub {
my ($body, $hdr) = @_;
# ...
}
);
# Content-Type: application/json
use JSON::XS;
$client->header('Content-Type', 'application/json')
->post(
encode_json({ foo => 1 }),
sub {
my ($body, $hdr) = @_;
# ...
}
);
$client->header('Accept', 'application/json')
->query({ key => 'value' })
->query('key', 'value')
->get(
sub {
my ($body, $hdr) = @_;
# ...
}
);
# headers at once
$client->header({
Accept => '*/*',
Authorization => 'Basic abcd'
})->get(
sub {
my ($body, $hdr) = @_;
# ...
}
);
=head1 DESCRIPTION
L<AnyEvent::HTTP> wrapper
=head1 SEE ALSO
L<https://github.com/technoweenie/node-scoped-http-client>
=head1 AUTHOR
Hyungsuk Hong <hshong@perl.kr>
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Hyungsuk Hong.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
( run in 1.772 second using v1.01-cache-2.11-cpan-39bf76dae61 )