summary refs log tree commit diff
path: root/lib/Plack/Middleware/Throttle/Hourly.pm
blob: 818d70b59ce26d577b8786d23818d6e110e10637 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package Plack::Middleware::Throttle::Hourly;

use Moose;
extends 'Plack::Middleware::Throttle::Limiter';

sub cache_key {
    my ( $self, $env ) = @_;
    $self->client_identifier($env) . "_"
        . DateTime->now->strftime("%Y-%m-%d-%H");
}

sub reset_time {
    my $dt = DateTime->now;
    3600 - (( 60 * $dt->minute ) + $dt->second);
}

1;