From 2a68ed3d0138827f4fed8a3520f7859493da4e1b Mon Sep 17 00:00:00 2001 From: franck cuny Date: Wed, 31 Mar 2010 22:30:23 +0200 Subject: import old Plack::Middleware::APIRateLimit (renamed as miyagawa's suggestion) and stole API from rack::throttle --- lib/Plack/Middleware/Throttle/Daily.pm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 lib/Plack/Middleware/Throttle/Daily.pm (limited to 'lib/Plack/Middleware/Throttle/Daily.pm') diff --git a/lib/Plack/Middleware/Throttle/Daily.pm b/lib/Plack/Middleware/Throttle/Daily.pm new file mode 100644 index 0000000..d28d1d7 --- /dev/null +++ b/lib/Plack/Middleware/Throttle/Daily.pm @@ -0,0 +1,17 @@ +package Plack::Middleware::Throttle::Daily; + +use Moose; +extends 'Plack::Middleware::Throttle::Limiter'; + +sub cache_key { + my ( $self, $env ) = @_; + $self->client_identifier($env) . "_" + . DateTime->now->strftime("%Y-%m-%d"); +} + +sub reset_time { + my $dt = DateTime->now; + (24 * 3600) - (( 60 * $dt->minute ) + $dt->second); +} + +1; -- cgit v1.2.3