App-Pod
view release on metacpan or search on metacpan
t/cpan/Mojo2/UserAgent.pm view on Meta::CPAN
# Follow redirects to download Mojolicious from GitHub
$ua->max_redirects(5)
->get('https://www.github.com/mojolicious/mojo/tarball/main')
->result->save_to('/home/sri/mojo.tar.gz');
# Non-blocking request
$ua->get('mojolicious.org' => sub ($ua, $tx) { say $tx->result->dom->at('title')->text });
Mojo::IOLoop->start unless Mojo::IOLoop->is_running;
# Concurrent non-blocking requests (synchronized with promises)
my $mojo_promise = $ua->get_p('mojolicious.org');
my $cpan_promise = $ua->get_p('cpan.org');
Mojo::Promise->all($mojo_promise, $cpan_promise)->then(sub ($mojo, $cpan) {
say $mojo->[0]->result->dom->at('title')->text;
say $cpan->[0]->result->dom->at('title')->text;
})->wait;
# WebSocket connection sending and receiving JSON via UNIX domain socket
$ua->websocket('ws+unix://%2Ftmp%2Fmyapp.sock/echo.json' => sub ($ua, $tx) {
say 'WebSocket handshake failed!' and return unless $tx->is_websocket;
( run in 0.649 second using v1.01-cache-2.11-cpan-0d8aa00de5b )