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/Backend/Hash.pm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 lib/Plack/Middleware/Throttle/Backend/Hash.pm (limited to 'lib/Plack/Middleware/Throttle/Backend') diff --git a/lib/Plack/Middleware/Throttle/Backend/Hash.pm b/lib/Plack/Middleware/Throttle/Backend/Hash.pm new file mode 100644 index 0000000..9144e36 --- /dev/null +++ b/lib/Plack/Middleware/Throttle/Backend/Hash.pm @@ -0,0 +1,20 @@ +package Plack::Middleware::Throttle::Backend::Hash; + +use Moose; + +has store => ( + is => 'rw', + isa => 'HashRef', + traits => ['Hash'], + lazy => 1, + default => sub { {} }, + handles => { get => 'get', set => 'set' } +); + +sub incr { + my ( $self, $key ) = @_; + my $value = ( $self->get($key) || 0 ) + 1; + $self->set( $key => $value ); +} + +1; -- cgit v1.2.3