# Mojolicious $app->plugin('HeaderCondition'); $app->routes->get('/:controller/:action') ->over(headers => {Referer => qr/example\.com/}); # Mojolicious::Lite plugin 'HeaderCondition'; get '/' => (headers => {Referer => qr/example\.com/}) => sub {...}; # All headers need to match $app->routes->get('/:controller/:action')->over(headers => { 'X-Secret-Header' => 'Foo', Referer => qr/example\.com/ }); # The "agent" condition is a shortcut for the "User-Agent" header get '/' => (agent => qr/Firefox/) => sub {...}; # The "host" condition is a shortcut for the detected host get '/' => (host => qr/mojolicious\.org/) => sub {...};
This is a core plugin, that means it is always enabled and its code a good example for learning to build new plugins, you're welcome to fork it.
See ``PLUGINS'' in Mojolicious::Plugins for a list of plugins that are available by default.
$plugin->register(Mojolicious->new);
Register conditions in Mojolicious application.