Amon2-Plugin-Web-Maintenance

 view release on metacpan or  search on metacpan

lib/Amon2/Plugin/Web/Maintenance.pm  view on Meta::CPAN

            return 1
                if &_match_path( $path, $config->{except}->{path} );
        }
        return 0;
    }
}

sub _match_addr {
    my ( $addr, $conditions ) = @_;

    my $cidr4 = Net::CIDR::Lite->new();
    my $cidr6 = Net::CIDR::Lite->new();
    for my $condition (@$conditions) {
        if ( $condition && $condition =~ m!:! ) {
            $cidr6->add_any($condition);
        }
        else {
            $cidr4->add_any($condition);
        }
    }

    if ( $addr =~ m!:! ) {
        return $cidr6->find($addr);
    }
    else {
        return $cidr4->find($addr);
    }
    return 0;
}

sub _match_path {
    my ( $path, $conditions ) = @_;

    for my $condition (@$conditions) {
        if ( ref $condition && ref $condition eq 'Regexp' ) {
            return 1 if $path =~ m!$condition!;



( run in 0.852 second using v1.01-cache-2.11-cpan-de7293f3b23 )