Mojolicious::Guides::CUsersContributed Perl Mojolicious::Guides::Cheatsheet(3)NAMEMojolicious::Guides::Cheatsheet - Reference
OVERVIEW
This document contains a concise all-purpose reference.
RESERVED STASH VALUES
Besides everything prefixed with "mojo." there are a few stash values
that are reserved for routes and the renderer.
"action"
$r->route('/welcome')->to(action => 'hello');
Action to dispatch to.
"app"
$r->route('/welcome')->to(app => MyApp->new);
Embedded application to dispatch to.
"cb"
$r->route('/welcome')->to(cb => sub {...});
Callback to dispatch to.
"class"
$r->route('/welcome')->to(class => 'Greeting');
Camelized alternative to "controller".
"controller"
$r->route('/welcome')->to(controller => 'greetings');
Controller to dispatch to.
"data"
$self->render(data => 'raw bytes');
Turn raw bytes into a response.
"exception"
<%= $exception %>
Mojo::Exception object for exception templates.
"extends"
$self->render(extends => 'template');
Template to extend.
"format"
$self->render(format => 'rss');
Format to render.
"handler"
$self->render(handler => 'ep');
Handler to use for rendering.
"inline"
$self->render(inline => '<%= 1 + 1%>');
Inline template to render.
"json"
$self->render(json => {foo => 23});
Turn Perl structure into JSON response.
"layout"
$self->render(layout => 'green');
Layout to render.
"method"
$r->route('/welcome')->to(method => 'hello');
Alternative to "action".
"namespace"
$r->route('/welcome')->to(namespace => 'TestApp', method => 'lulz');
Namespace to dispatch to.
"partial"
my $result = $self->render(partial => 1);
Return rendering result instead of turning it into a response.
"path"
$r->route('/welcome')->to(path => '/test', app => MyApp->new);
Base path to use for dispatching to embedded applications.
"status"
$self->render(status => 404);
Status code to use for rendered response.
"template"
$self->render(template => 'bye');
Template to render.
"text"
$self->render(text => 'Hello World!');
Turn characters into a response.
ENVIRONMENT VARIABLES
Many parts of Mojolicious can be tuned with environment variables.
Debug environment variables are excluded because they are for developer
use only.
"MOJO_APP"
Decides which Mojolicious or Mojo application will be used, should
always contain a class name like "MyApp", usually defaults to
Mojo::HelloWorld.
MOJO_APP=MyApp
"MOJO_CA_FILE"
The path to the TLS CA authority file, should always contain a path
like "/etc/tls/cacerts.pem". Note that IO::Socket::SSL must be
installed for TLS support.
MOJO_CA_FILE=/etc/tls/cacerts.pem
"MOJO_CERT_FILE"
The path to the TLS certificate, should always contain a path like
"/etc/tls/client.crt". Note that IO::Socket::SSL must be installed for
TLS support.
MOJO_CERT_FILE=/etc/tls/client.crt
"MOJO_CHUNK_SIZE"
Chunk size used for I/O operations in bytes, a bigger chunk size speeds
up I/O operations but will also use more memory, defaults to 131072.
MOJO_CHUNK_SIZE=1024
"MOJO_CONFIG"
Config file to be used by Mojolicious::Plugin::Config and
Mojolicious::Plugin::JSONConfig, quite useful for testing.
MOJO_CONFIG=myapp.conf
"MOJO_DNS_SERVER"
"DNS" server to use for non-blocking lookups.
MOJO_DNS_SERVER=8.8.8.8
"MOJO_HOME"
Home directory for the Mojolicious application, should always contain a
path like "/home/sri/myapp".
MOJO_HOME=/home/sri/myapp
"MOJO_IOWATCHER"
Alternative Mojo::IOWatcher implementation to try.
MOJO_IOWATCHER=Mojo::IOWatcher::EV
"MOJO_KEY_FILE"
The path to the TLS key, should always contain a path like
"/etc/tls/client.key". Note that IO::Socket::SSL must be installed for
TLS support.
MOJO_KEY_FILE=/etc/tls/client.key
"MOJO_LOG_LEVEL"
Log level for the Mojolicious application, should contain a valid log
level like "debug" or "error".
MOJO_LOG_LEVEL=debug
MOJO_LOG_LEVEL=error
"MOJO_MAX_LINE_SIZE"
Maximum line size for HTTP message start lines and headers in bytes,
defaults to 10240.
MOJO_MAX_LINE_SIZE=2048
"MOJO_MAX_MEMORY_SIZE"
Maximum size in bytes for HTTP content to keep in memory, bigger
content will be written to temporary files, defaults to 262144.
MOJO_MAX_MEMORY_SIZE=2048
"MOJO_MAX_MESSAGE_SIZE"
Maximum size for HTTP messages in bytes, defaults to 5242880.
MOJO_MAX_MESSAGE_SIZE=1024
"MOJO_MAX_REDIRECTS"
MOJO_MAX_REDIRECTS=3
Maximum number of redirects Mojo::UserAgent will follow, defaults to 0.
"MOJO_MAX_WEBSOCKET_SIZE"
Maximum size for WebSocket messages in bytes, defaults to 262144.
MOJO_MAX_WEBSOCKET_SIZE=1024
"MOJO_MODE"
Run mode for the Mojolicious application, should contain a valid mode
like "development" or "production".
MOJO_MODE=development
MOJO_MODE=production
"MOJO_NO_BONJOUR"
Disable Bonjour support. Note that Net::Rendezvous::Publish must be
installed for Bonjour support.
MOJO_NO_BONJOUR=1
"MOJO_NO_DETECT"
Disable Mojolicious deployment environment detection.
MOJO_NO_DETECT=1
"MOJO_NO_IPV6"
Disable IPv6 support. Note that IO::Socket::IP must be installed for
IPv6 support.
MOJO_NO_IPV6=1
"MOJO_NO_RESOLVER"
Disable non-blocking resolver support and fall back to blocking system
resolver.
MOJO_NO_RESOLVER=1
"MOJO_NO_TLS"
Disable TLS support, this might result in slightly better performance
and less memory use. Note that IO::Socket::SSL must be installed for
TLS support.
MOJO_NO_TLS=1
"MOJO_PROXY"
Enable automatic HTTP and HTTPS proxy detection in Mojo::UserAgent, for
security reasons this is disabled by default.
MOJO_PROXY=1
"MOJO_REVERSE_PROXY"
Enable reverse proxy support for Mojolicious application. This allows
Mojolicious to automatically pick up the "X-Forwarded-For",
"X-Forwarded-Host" and "X-Forwarded-HTTPS" headers.
MOJO_REVERSE_PROXY=1
"MOJO_STATIC_CLASS"
Class the Mojolicious static file dispatcher should use to find "DATA"
templates, defaults to "main".
MOJO_STATIC_CLASS=MyApp
"MOJO_TEMPLATE_CLASS"
Class the Mojolicious renderer should use to find "DATA" templates,
defaults to "main".
MOJO_TEMPLATE_CLASS=MyApp
"MOJO_TMPDIR"
Directory for temporary files like huge uploads, defaults to using a
random platform specific temporary directory.
MOJO_TMPDIR=/tmp/mojo
MORE
You can continue with Mojolicious::Guides now or take a look at the
Mojolicious wiki <http://github.com/kraih/mojo/wiki>, which contains a
lot more documentation and examples by many different authors.
perl v5.14.12011-09-13Mojolicious::Guides::Cheatsheet(3)