# Pastebin pCbIOnip use 5.016; use Mojo::Server::Daemon; use Mojo::UserAgent; package Responder { use Mojolicious::Lite; get '/test' => sub { shift->render(text => 'OK'); }; any '/token/:t' => sub { my $c = shift; my $t = $c->param('t'); $c->render(json => { token => $t }); }; }; Mojo::IOLoop->timer(3 => sub { my $ua = Responder->app->ua; $ua->get('http://127.0.0.1:5055/token/foo' => sub { my ($ua, $tx) = @_; if ($tx->success) { if ($tx->res->json->{token} eq 'foo') { say q{PASS!}; } else { say q{FAIL!}; } } else { say($tx->error->{code}); } Mojo::IOLoop->stop; }); }); my $daemon = Mojo::Server::Daemon->new( app => Responder->app, listen => [ 'http://*:5055' ] ); $daemon->start->ioloop->start;