Branch Coverage

blib/lib/HTTP/Server/Encrypt.pm
Criterion Covered Total %
branch 46 138 33.3


line true false branch
41 0 5 if $http_conf{'ip_allow'}
42 0 5 if $http_conf{'ip_deny'}
43 5 0 if $http_conf{'log_dir'}
44 5 0 if defined $log_dir and $log_dir eq 'no'
45 0 5 if defined $log_dir and $log_dir
48 0 5 if ($blowfish_key)
56 5 0 if ($username or $passwd)
58 5 0 if $username
60 5 0 if $passwd
71 0 4 if (lc $protocol eq 'perl') { }
87 0 0 unless $HTTP::Server::Encrypt::ip_allow{$HTTP::Server::Encrypt::peer_ip}
0 4 if (%HTTP::Server::Encrypt::ip_allow)
88 0 0 if $HTTP::Server::Encrypt::ip_deny{$HTTP::Server::Encrypt::peer_ip}
0 4 if (%HTTP::Server::Encrypt::ip_deny)
96 4 0 if $HTTP::Server::Encrypt::username
102 4 0 if $HTTP::Server::Encrypt::username
109 0 4 if (not $chunk or length $chunk > 16384)
116 0 4 if (not $method =~ /^(?:GET|POST)$/ or $request_uri =~ /\.\./)
130 0 4 if ($query_string)
136 0 0 unless defined $k and $k and defined $v and $v
137 0 0 if (not $HTTP::Server::Encrypt::_GET{$k}) { }
0 0 elsif (not ref $HTTP::Server::Encrypt::_GET{$k}) { }
0 0 elsif (ref $HTTP::Server::Encrypt::_GET{$k} eq 'ARRAY') { }
162 0 4 if (-d "$HTTP::Server::Encrypt::script_base_dir$script")
164 0 0 if (substr($script, -1) ne '/')
171 0 0 if (-e "$HTTP::Server::Encrypt::script_base_dir$script/index.html") { }
0 0 elsif (-e "$HTTP::Server::Encrypt::script_base_dir$script/index.htm") { }
0 0 elsif (-e "$HTTP::Server::Encrypt::script_base_dir$script/index.pl") { }
173 0 0 if substr($script, -1) ne '/'
178 0 0 if substr($script, -1) ne '/'
183 0 0 if substr($script, -1) ne '/'
189 4 0 if ($HTTP::Server::Encrypt::right_auth)
191 2 2 if $HTTP::Server::Encrypt::_HEAD{'Authorization'}
192 2 2 unless (defined $client_auth and $client_auth eq $HTTP::Server::Encrypt::right_auth)
201 0 2 if ($method eq 'POST')
205 0 0 if (defined $HTTP::Server::Encrypt::_HEAD{'Content-Length'}) { }
217 0 0 if ($i > 4096)
224 0 0 unless $post_data
226 0 0 if $HTTP::Server::Encrypt::blowfish_decrypt
232 0 0 unless defined $k_post and $k_post and defined $v_post and $v_post
233 0 0 if (not $HTTP::Server::Encrypt::_POST{$k_post}) { }
0 0 elsif (not ref $HTTP::Server::Encrypt::_POST{$k_post}) { }
0 0 elsif (ref $HTTP::Server::Encrypt::_POST{$k_post} eq 'ARRAY') { }
257 1 1 if (-e $script_file and -r $script_file and -s $script_file) { }
262 0 1 if (substr($script_file, -3) eq '.pl') { }
266 0 0 unless open STDOUT, '>', \$body
267 0 0 unless (my $return = do $script_file)
269 0 0 if $@
270 0 0 unless defined $return
271 0 0 unless $return
276 0 1 unless open my $fh, '<', $script_file
280 1 0 if (not $HTTP::Server::Encrypt::blowfish_encrypt and $^O eq 'linux') { }
283 1 0 if $ct
284 0 1 if $ce
294 0 0 if $ct
295 0 0 if $ce
300 0 0 if ($HTTP::Server::Encrypt::blowfish_encrypt)
306 0 0 if ($@)
319 3 1 unless $boolen_sendfile
320 0 4 if $HTTP::Server::Encrypt::log_dir
330 4 18 if $line =~ /^\s*$/
344 26 571 if $buf eq "\n"
358 3 0 if (not $body and $status != 200 and $status != 301 and $status != 302)
362 3 0 unless defined $header{'Date'}
363 3 0 unless defined $header{'Server'}
364 3 0 unless defined $header{'Content-Type'}
366 3 0 if defined $body and $body and not defined $header{'Content-Length'}
367 2 1 if $status == 401
376 3 0 if defined $body and $body