NAME
Toadfarm::Manual::DSL - Domain specific language for Toadfarm
DESCRIPTION
This manual gives an overview of which functions are available when building a Toadfarm script.
FUNCTIONS
These functions are exported to the caller namespace by default. See "SYNOPSIS" for example usage.
app
$app
= app;
Used to fetch the Toadfarm / Mojolicious instance that the rest of the functions below are using.
logging
logging {
combined
=> 0,
path
=>
"/path/to/log/file.log"
,
level
=>
"info"
,
};
Used to set up Mojo::Log. See "path" in Mojo::Log and "level" in Mojo::Log for details on the accepted values. combined
can be set to true to make all the mounted apps use the same Mojo::Log object.
mount
mount
"/path/to/mojo-app"
=> \
%config
;
mount
"My::Mojo::App"
=> \
%config
;
mount
"My::Mojo::App"
;
This function will mount a Mojolicious application in the Toadfarm application. An application can either be a full path to the application or a class name. The apps are processed in the order they are defined. This means that the first app that match a given rule will receive the request.
See Toadfarm::Manual::Config for details on %config
.
An application without %config is considered to be a "catch all" application, meaning that it will get all the requests that does not match any of the above.
plugin
plugin
"My::Mojo::Plugin"
=> \
%config
;
plugin
"AccessLog"
;
Used to load a Mojolicious::Plugin. In addition to the default Mojolicious::Plugin namespace, this application will also search in the Toadfarm::Plugin::
namespace.
secrets
secrets
@str
;
Used to set application "secrets" in Mojolicious. A random secret will be set if none is specified.
Note: This function is experimental and might be removed in future release.
start
start;
start \
@listen
,
%config
;
start
%config
;
Used to start the application. Both @listen
and %config
are optional, but will be used to specify the "SETTINGS" in Mojo::Server::Hypnotoad.
These three examples does the same thing:
SEE ALSO
See also Toadfarm::Manual::Introduction.
AUTHOR
Jan Henning Thorsen - jhthorsen@cpan.org