|
NAMEDancer::Plugin - helper for writing Dancer plugins VERSIONversion 1.3520 SYNOPSIS package Dancer::Plugin::LinkBlocker;
use Dancer ':syntax';
use Dancer::Plugin;
register block_links_from => sub {
my $conf = plugin_setting();
my $re = join ('|', @{$conf->{hosts}});
before sub {
if (request->referer && request->referer =~ /$re/) {
status 403 || $conf->{http_code};
}
};
};
register_plugin;
1;
And in your application: package My::Webapp;
use Dancer ':syntax';
use Dancer::Plugin::LinkBlocker;
block_links_from; # this is exported by the plugin
DESCRIPTIONCreate plugins for Dancer PLUGINSYou can extend Dancer by writing your own Plugin. A plugin is a module that exports a bunch of symbols to the current namespace (the caller will see all the symbols defined via "register"). Note that you have to "use" the plugin wherever you want to use its symbols. For instance, if you have Webapp::App1 and Webapp::App2, both loaded from your main application, they both need to "use FooPlugin" if they want to use the symbols exported by "FooPlugin". METHODS
AUTHORSThis module has been written by Alexis Sukrieh and others. LICENSEThis module is free software and is published under the same terms as Perl itself. AUTHORDancer Core Developers COPYRIGHT AND LICENSEThis software is copyright (c) 2010 by Alexis Sukrieh. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
|