Provided by: libmojolicious-perl_4.63+dfsg-1_all
NAME
Mojo - Duct tape for the HTML5 web!
SYNOPSIS
package MyApp; 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; }
DESCRIPTION
Mojo provides a flexible runtime environment for Perl real-time 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::Guides for more!
ATTRIBUTES
Mojo 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. # Generate portable path relative to home directory 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. # Log debug message $app->log->debug('It works!'); ua my $ua = $app->ua; $app = $app->ua(Mojo::UserAgent->new); A full featured HTTP user agent for use in your applications, defaults to a Mojo::UserAgent object. Note that this user agent should not be used in plugins, since non-blocking requests that are already in progress will interfere with new blocking ones. # Perform blocking request say $app->ua->get('example.com')->res->body;
METHODS
Mojo 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 if necessary and set up logging to "log/mojo.log" if there's a "log" directory. build_tx my $tx = $app->build_tx; Transaction builder, defaults to building a Mojo::Transaction::HTTP object. config my $hash = $app->config; my $foo = $app->config('foo'); $app = $app->config({foo => 'bar'}); $app = $app->config(foo => 'bar'); Application configuration. # Remove value my $foo = delete $app->config->{foo}; handler $app->handler(Mojo::Transaction::HTTP->new); 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. Meant to be overloaded in a subclass. sub handler { my ($self, $tx) = @_; ... }
SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>.