Toadfarm::Manual::DSL - Domain specific language for Toadfarm
This manual gives an overview of which functions are available when building a Toadfarm script.
These functions are exported to the caller namespace by default. See "SYNOPSIS" for example usage.
$app = app;
Used to fetch the Toadfarm / Mojolicious instance that the rest of the functions below are using.
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.
combined
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.
%config
An application without %config is considered to be a "catch all" application, meaning that it will get all the requests that do not match any of the above.
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.
Toadfarm::Plugin::
run_as $uid; run_as $username;
Use "sudo" (might change) to force the script to be run as a given user.
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 \@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.
@listen
These three examples do the same thing:
# 1. start proxy => 1; # 2. start ["http://*:8080"], {proxy => 1}; # 3. start {listen => ["http://*:8080"], proxy => 1};
See also Toadfarm::Manual::Introduction.
Jan Henning Thorsen - jhthorsen@cpan.org
jhthorsen@cpan.org
To install Toadfarm, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Toadfarm
CPAN shell
perl -MCPAN -e shell install Toadfarm
For more information on module installation, please visit the detailed CPAN module installation guide.