File Coverage

blib/lib/Plack/Middleware/Antibot/FakeField.pm
Criterion Covered Total %
statement 26 26 100.0
branch 4 4 100.0
condition 6 7 85.7
subroutine 6 6 100.0
pod 2 2 100.0
total 44 45 97.7


line stmt bran cond sub pod time code
1             package Plack::Middleware::Antibot::FakeField;
2              
3 2     2   64666 use strict;
  2         4  
  2         58  
4 2     2   8 use warnings;
  2         2  
  2         62  
5              
6 2     2   7 use parent 'Plack::Middleware::Antibot::FilterBase';
  2         2  
  2         8  
7              
8 2     2   1097 use Plack::Request;
  2         56129  
  2         357  
9              
10             sub new {
11 9     9 1 5735 my $self = shift->SUPER::new(@_);
12 9         15 my (%params) = @_;
13              
14 9   100     72 $self->{field_name} = $params{field_name} || 'antibot_fake_field';
15 9   100     37 $self->{score} = $params{score} || 0.8;
16              
17 9         29 return $self;
18             }
19              
20             sub execute {
21 11     11 1 10304 my $self = shift;
22 11         13 my ($env) = @_;
23              
24 11 100       28 if ($env->{REQUEST_METHOD} eq 'POST') {
25 7         38 my $value = Plack::Request->new($env)->param($self->{field_name});
26 7 100 66     3301 if (defined $value && length $value) {
27 6         18 $env->{'plack.antibot.fakefield.detected'}++;
28             }
29             }
30             else {
31 4         11 $env->{'plack.antibot.fakefield.field_name'} = $self->{field_name};
32 4         15 $env->{'plack.antibot.fakefield.html'} = <<"EOF";
33            
34            
35            
36            
37             EOF
38             }
39              
40 11         24 return;
41             }
42              
43             1;
44             __END__