NAME
Dancer::Plugin::Cerberus - Include geo, time zone, user-agent and
throttling from App::Cerberus
VERSION
version 0.03
SYNOPSIS
use Dancer::Plugin::Cerberus;
get '/' => sub {
my $time_zone = vars->{cerberus}{tz}{name};
};
DESCRIPTION
This plugin adds metadata from an App::Cerberus server to the vars
before your route handlers are called.
For instance:
* Geo-location
* Time zone
* User-agent info
* Are they a spider?
* Are they making too many requests? Should we throttle them?
It can also be configured to throttle or ban IP address ranges with
App::Cerberus::Plugin::Throttle.
CONFIG
The basic configuration ("servers" and "timeout") are passed to "new()"
in App::Cerberus::Client.
plugins:
Cerberus:
servers: http://localhost:5001/
Or
plugins:
Cerberus:
servers:
- http://host1:5001/
- http://host2:5001/
timeout: 0.1
If you are using the App::Cerberus::Plugin::Throttle plugin, then you
can also configure:
plugins:
Cerberus:
servers: http://localhost:5001/
throttle:
log_as: info
enforce: 0 | 1
If "log_as" is one of "core", "info", "warn", "debug" or "error", then
Throttle messages will be logged at that level.
If "enforce" is true, then banned IP addresses will receive a "403
Forbidden" response and throttled users a "503 Service Unavailable"
response, with a "Retry-After: $seconds" header.
ACCESSING CERBERUS INFO
The "vars" available in any route handler will contain a key "cerberus"
with any data that App::Cerberus has returned, for instance:
get '/' => sub {
my $geo_info = vars->{cerberus}{geo};
my $time_zone = vars->{cerberus}{tz};
my $user_agent = vars->{cerberus}{ua};
my $throttle = vars->{cerberus}{throttle};
};
SEE ALSO
* App::Cerberus
* Plack::Middleware::Cerberus
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Dancer::Plugin::Cerberus
You can also look for information at:
* GitHub
<http://github.com/clintongormley/Dancer-Plugin-Cerberus>
* CPAN Ratings
<http://cpanratings.perl.org/d/Dancer-Plugin-Cerberus>
* Search MetaCPAN
<https://metacpan.org/module/Dancer::Plugin::Cerberus>
AUTHOR
Clinton Gormley <drtech@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Clinton Gormley.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.