Mojo(3) User Contributed Perl Documentation Mojo(3)NAMEMojo - The Duct Tape!
SYNOPSIS
use Mojo::Base 'Mojo';
# All the complexities of CGI, PSGI, HTTP and WebSockets get reduced to a
# single method call!
sub handler {
my ($self, $tx) = @_;
# Request
my $method = $tx->req->method;
my $path = $tx->req->url->path;
# Response
$tx->res->code(200);
$tx->res->headers->content_type('text/plain');
$tx->res->body("$method request for $path!");
# Resume transaction
$tx->resume;
}
DESCRIPTIONMojo provides a flexible runtime environment for Perl web frameworks.
It provides all the basic tools and helpers needed to write simple web
applications and higher level web frameworks such as Mojolicious.
See Mojolicious for more!
ATTRIBUTESMojo implements the following attributes.
"home"
my $home = $app->home;
$app = $app->home(Mojo::Home->new);
The home directory of your application, defaults to a Mojo::Home object
which stringifies to the actual path.
my $path = $app->home->rel_file('data/important.txt');
"log"
my $log = $app->log;
$app = $app->log(Mojo::Log->new);
The logging layer of your application, defaults to a Mojo::Log object.
$app->log->debug('It works!');
"on_transaction"
my $cb = $app->on_transaction;
$app = $app->on_transaction(sub {...});
Callback to be invoked when a new transaction is needed, defaults to
building a Mojo::Transaction::HTTP object.
"on_websocket"
my $cb = $app->on_websocket;
$app = $app->on_websocket(sub {...});
Callback to be invoked for WebSocket handshakes, defaults to building a
Mojo::Transaction::WebSocket object.
"ua"
my $ua = $app->ua;
$app = $app->ua(Mojo::UserAgent->new);
A full featured HTTP 1.1 user agent for use in your applications,
defaults to a Mojo::UserAgent object.
METHODSMojo inherits all methods from Mojo::Base and implements the following
new ones.
"new"
my $app = Mojo->new;
Construct a new Mojo application. Will automatically detect your home
directory and set up logging to "log/mojo.log" if there's a "log"
directory.
"handler"
$tx = $app->handler($tx);
The handler is the main entry point to your application or framework
and will be called for each new transaction, which will usually be a
Mojo::Transaction::HTTP or Mojo::Transaction::WebSocket object.
sub handler {
my ($self, $tx) = @_;
}
SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>.
perl v5.14.1 2011-09-11 Mojo(3)