Plack-Middleware-Greylist
view release on metacpan or search on metacpan
"Test::Pod" : "1.41",
"Test::Pod::Coverage" : "1.08",
"Test::Pod::LinkCheck" : "0",
"Test::Portability::Files" : "0",
"Test::TrailingSpace" : "0.0203"
}
},
"runtime" : {
"recommends" : {
"Cache::FastMmap" : "1.52",
"Ref::Util::XS" : "0"
},
"requires" : {
"HTTP::Status" : "0",
"List::Util" : "1.29",
"Module::Load" : "0",
"Net::IP::LPM" : "0",
"Plack::Middleware" : "0",
"Ref::Util" : "0",
"Time::Seconds" : "0",
"experimental" : "0",
"parent" : "0",
"perl" : "v5.20.0",
"warnings" : "0"
}
},
"test" : {
"recommends" : {
"CPAN::Meta" : "2.120900"
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: '1.4'
name: Plack-Middleware-Greylist
provides:
Plack::Middleware::Greylist:
file: lib/Plack/Middleware/Greylist.pm
version: v0.8.1
recommends:
Cache::FastMmap: '1.52'
Ref::Util::XS: '0'
requires:
HTTP::Status: '0'
List::Util: '1.29'
Module::Load: '0'
Net::IP::LPM: '0'
Plack::Middleware: '0'
Ref::Util: '0'
Time::Seconds: '0'
experimental: '0'
parent: '0'
perl: v5.20.0
warnings: '0'
resources:
bugtracker: https://github.com/robrwo/Plack-Middleware-Greylist/issues
repository: git://github.com/robrwo/Plack-Middleware-Greylist.git
version: v0.8.1
x_authority: cpan:RRWO
Makefile.PL view on Meta::CPAN
"DISTNAME" => "Plack-Middleware-Greylist",
"LICENSE" => "artistic_2",
"MIN_PERL_VERSION" => "5.020000",
"NAME" => "Plack::Middleware::Greylist",
"PREREQ_PM" => {
"HTTP::Status" => 0,
"List::Util" => "1.29",
"Module::Load" => 0,
"Net::IP::LPM" => 0,
"Plack::Middleware" => 0,
"Ref::Util" => 0,
"Time::Seconds" => 0,
"experimental" => 0,
"parent" => 0,
"warnings" => 0
},
"TEST_REQUIRES" => {
"Cache::FastMmap" => "1.52",
"File::Spec" => 0,
"HTTP::Request::Common" => 0,
"IO::Scalar" => 0,
Makefile.PL view on Meta::CPAN
"Module::Metadata" => 0,
"Net::IP::LPM" => 0,
"Path::Tiny" => 0,
"Plack::Builder" => 0,
"Plack::Middleware" => 0,
"Plack::Middleware::ContentLength" => 0,
"Plack::Middleware::Head" => 0,
"Plack::Middleware::ReverseProxy" => 0,
"Plack::Response" => 0,
"Plack::Test" => 0,
"Ref::Util" => 0,
"Test2::Tools::Compare" => 0,
"Test2::V0" => 0,
"Test::More" => 0,
"Time::Seconds" => 0,
"experimental" => 0,
"parent" => 0,
"strict" => 0,
"warnings" => 0
);
# This file is generated by Dist::Zilla::Plugin::CPANFile v6.032
# Do not edit this file directly. To change prereqs, edit the `dist.ini` file.
requires "HTTP::Status" => "0";
requires "List::Util" => "1.29";
requires "Module::Load" => "0";
requires "Net::IP::LPM" => "0";
requires "Plack::Middleware" => "0";
requires "Ref::Util" => "0";
requires "Time::Seconds" => "0";
requires "experimental" => "0";
requires "parent" => "0";
requires "perl" => "v5.20.0";
requires "warnings" => "0";
recommends "Cache::FastMmap" => "1.52";
recommends "Ref::Util::XS" => "0";
on 'test' => sub {
requires "Cache::FastMmap" => "1.52";
requires "File::Spec" => "0";
requires "HTTP::Request::Common" => "0";
requires "IO::Scalar" => "0";
requires "Module::Metadata" => "0";
requires "Path::Tiny" => "0";
requires "Plack::Builder" => "0";
requires "Plack::Middleware::ContentLength" => "0";
lib/Plack/Middleware/Greylist.pm view on Meta::CPAN
package Plack::Middleware::Greylist;
# ABSTRACT: throttle requests with different rates based on net blocks
# RECOMMEND PREREQ: Cache::FastMmap 1.52
# RECOMMEND PREREQ: Ref::Util::XS
use v5.20;
use warnings;
use parent qw( Plack::Middleware );
use HTTP::Status qw/ HTTP_FORBIDDEN HTTP_TOO_MANY_REQUESTS /;
use List::Util 1.29 qw/ pairs /;
use Module::Load qw/ load /;
use Net::IP::LPM;
use Plack::Util;
use Plack::Util::Accessor qw/ default_rate rules cache file _match greylist retry_after cache_config callback /;
use Ref::Util qw/ is_plain_arrayref is_coderef /;
use Time::Seconds qw/ ONE_MINUTE /;
use experimental qw/ postderef signatures /;
our $VERSION = 'v0.8.1';
sub prepare_app($self) {
$self->default_rate(-1) unless defined $self->default_rate;
t/00-report-prereqs.dd view on Meta::CPAN
'Test::Pod' => '1.41',
'Test::Pod::Coverage' => '1.08',
'Test::Pod::LinkCheck' => '0',
'Test::Portability::Files' => '0',
'Test::TrailingSpace' => '0.0203'
}
},
'runtime' => {
'recommends' => {
'Cache::FastMmap' => '1.52',
'Ref::Util::XS' => '0'
},
'requires' => {
'HTTP::Status' => '0',
'List::Util' => '1.29',
'Module::Load' => '0',
'Net::IP::LPM' => '0',
'Plack::Middleware' => '0',
'Ref::Util' => '0',
'Time::Seconds' => '0',
'experimental' => '0',
'parent' => '0',
'perl' => 'v5.20.0',
'warnings' => '0'
}
},
'test' => {
'recommends' => {
'CPAN::Meta' => '2.120900'
( run in 0.266 second using v1.01-cache-2.11-cpan-4d50c553e7e )