NAME
Future::HTTP::Mojo - asynchronous HTTP client with a Future interface
DESCRIPTION
This is the backend when running with Mojo::IOLoop. It will execute the requests asynchronously.
METHODS
Future::HTTP::Mojo->new()
my $ua = Future::HTTP::Mojo->new();
Creates a new instance of the HTTP client.
$ua->is_async()
Returns true, because this backend is asynchronous.
$ua->http_get($url, %options)
$ua->http_get('http://example.com/',
headers => {
'Accept' => 'text/json',
},
)->then(sub {
my( $body, $headers ) = @_;
...
});
Retrieves the URL and returns the body and headers, like the function in AnyEvent::HTTP.
$ua->http_head($url, %options)
$ua->http_head('http://example.com/',
headers => {
'Accept' => 'text/json',
},
)->then(sub {
my( $body, $headers ) = @_;
...
});
Retrieves the header of the URL and returns the headers, like the function in AnyEvent::HTTP.
$ua->http_post($url, $body, %options)
$ua->http_post('http://example.com/api',
'{token:"my_json_token"}',
headers => {
'Accept' => 'text/json',
},
)->then(sub {
my( $body, $headers ) = @_;
...
});
Posts the content to the URL and returns the body and headers, like the function in AnyEvent::HTTP.
$ua->http_request($method, $url, %options)
$ua->http_request('PUT' => 'http://example.com/api',
headers => {
'Accept' => 'text/json',
},
body => '{token:"my_json_token"}',
)->then(sub {
my( $body, $headers ) = @_;
...
});
Posts the content to the URL and returns the body and headers, like the function in AnyEvent::HTTP.
Note that this subclass will automatically collect cookies. This may or may not be the behaviour you want.
SEE ALSO
AnyEvent::HTTP for the details of the API
Mojo::UserAgent for the backend
REPOSITORY
The public repository of this module is http://github.com/Corion/future-http.
SUPPORT
The public support forum of this module is https://perlmonks.org/.
BUG TRACKER
Please report bugs in this module via the RT CPAN bug queue at https://rt.cpan.org/Public/Dist/Display.html?Name=Future-HTTP or via mail to future-http-Bugs@rt.cpan.org.
AUTHOR
Max Maischein corion@cpan.org
COPYRIGHT (c)
Copyright 2016-2024 by Max Maischein corion@cpan.org
.
LICENSE
This module is released under the same terms as Perl itself.