| line | % | coverage | branch |
| 157 | 100 | T | F | if (not defined $class) { } |
| 100 | T | F | elsif (&Scalar::Util::blessed($class)) { } |
| 158 | 50 | T | F | if (scalar keys %{$params;} > 0) |
| 174 | 50 | T | F | if (defined $$params{"logger"}) |
| 175 | 50 | T | F | unless (&Scalar::Util::blessed($$params{"logger"}) and $$params{"logger"}->can("warn") and $$params{"logger"}->can("info") and $$params{"logger"}->can("error")) |
| 180 | 100 | T | F | if (defined $$params{"expect"}) |
| 185 | 50 | T | F | if (my $logger = $$params{"logger"}) |
| 233 | 100 | T | F | unless ($$self{"script_name"}) |
| 242 | 50 | T | F | unless (UNIVERSAL::isa((&CORE::GLOBAL::caller())[0], __PACKAGE__)) |
| 248 | 50 | T | F | unless "File::Basename"->can("basename") |
| 257 | 100 | T | F | if (my $script_path = $self->_get_env('SCRIPT_FILENAME')) { } |
| 100 | T | F | elsif ($script_name = $self->_get_env('SCRIPT_NAME')) { } |
| 50 | T | F | elsif ('File::Spec'->file_name_is_absolute($0)) { } |
| 260 | 100 | T | F | if (my $document_root = $self->_get_env('DOCUMENT_ROOT')) { } |
| 268 | 100 | T | F | if ('File::Spec'->file_name_is_absolute($script_name) and -r $script_name) { } |
| 272 | 50 | T | F | unless "Cwd"->can("abs_path") |
| 274 | 100 | T | F | if ($script_name =~ m[^/(.+)]) |
| 317 | 100 | T | F | unless ($$self{"script_path"}) |
| 344 | 100 | T | F | unless ref $self |
| 347 | 100 | T | F | unless $$self{"script_path"} |
| 351 | 50 | T | F | $^O eq 'MSWin32' ? : |
| 353 | 50 | T | F | $$self{'script_path'} =~ /$dir_regex/ ? : |
| 380 | 100 | T | F | unless ($$self{"site"}) |
| 394 | 100 | T | F | if $$self{"site"} and $$self{"cgi_site"} |
| 397 | 100 | T | F | if (my $host = $ENV{'HTTP_HOST'} || $ENV{'SERVER_NAME'} || $ENV{'SSL_TLS_SNI'}) { } |
| 399 | 100 | T | F | unless "URI::Heuristic"->can("uf_uristr") |
| 406 | 100 | T | F | if ($ENV{"SERVER_NAME"} and $host eq $ENV{"SERVER_NAME"} and my $protocol = $self->protocol and $self->protocol ne "http") |
| 411 | 50 | T | F | unless "Sys::Hostname"->can("hostname") |
| 421 | 100 | T | F | unless $$self{"cgi_site"} =~ m[^https?://] |
| 424 | 50 | T | F | unless $$self{"site"} and $$self{"cgi_site"} |
| 442 | 100 | T | F | unless (ref $self) |
| 445 | 100 | T | F | if $$self{"domain"} |
| 449 | 50 | T | F | if (my $site = $$self{"site"}) |
| 450 | 100 | T | F | $site =~ /^www\.(.+)/ ? : |
| 465 | 100 | T | F | unless ($$self{"cgi_site"}) |
| 634 | 100 | T | F | if (defined $$self{"paramref"} and !defined($$params{'allow'}) || defined $$self{'allow'} && $$params{'allow'} eq $$self{'allow'}) |
| 638 | 100 | T | F | if (defined $$params{"allow"}) |
| 649 | 100 | T | F | if (defined $$params{"upload_dir"}) |
| 652 | 100 | T | F | if (defined $$params{"logger"}) |
| 661 | 100 | T | F | if (not $ENV{'GATEWAY_INTERFACE'} && $ENV{'REQUEST_METHOD'}) { } |
| 100 | T | F | elsif ($ENV{'REQUEST_METHOD'} eq 'GET' or $ENV{'REQUEST_METHOD'} eq 'HEAD') { } |
| 100 | T | F | elsif ($ENV{'REQUEST_METHOD'} eq 'POST') { } |
| 50 | T | F | elsif ($ENV{'REQUEST_METHOD'} eq 'OPTIONS') { } |
| 100 | T | F | elsif ($ENV{'REQUEST_METHOD'} eq 'DELETE') { } |
| 665 | 50 | T | F | if (@ARGV) { } |
| 0 | T | F | elsif ($stdin_data) { } |
| 0 | T | F | elsif (IO::Interactive::is_interactive() and not $$self{'args_read'}) { } |
| 667 | 50 | T | F | if (defined $pairs[0]) |
| 668 | 100 | T | F | if ($pairs[0] eq '--robot') { } |
| 100 | T | F | elsif ($pairs[0] eq '--mobile') { } |
| 100 | T | F | elsif ($pairs[0] eq '--search-engine') { } |
| 100 | T | F | elsif ($pairs[0] eq '--tablet') { } |
| 697 | 0 | T | F | if $line eq "quit" |
| 703 | 100 | T | F | if (my $query = $ENV{'QUERY_STRING'}) { } |
| 704 | 100 | T | F | if (defined $content_type and $content_type =~ m[multipart/form-data]i) |
| 714 | 100 | T | F | if (not defined $content_length or $content_length =~ /\D/) |
| 718 | 100 | T | F | if ($$self{"max_upload_size"} >= 0 and $content_length > $$self{"max_upload_size"}) |
| 726 | 100 | T | F | if (not defined $content_type or $content_type =~ m[application/x-www-form-urlencoded]) { } |
| 100 | T | F | elsif ($content_type =~ m[multipart/form-data]i) { } |
| 100 | T | F | elsif ($content_type =~ m[text/xml]i) { } |
| 100 | T | F | elsif ($content_type =~ m[application/json]i) { } |
| 728 | 100 | T | F | if ($stdin_data) { } |
| 731 | 100 | T | F | if (read(STDIN, $buffer, $content_length) != $content_length) |
| 743 | 100 | T | F | unless (defined $$self{"upload_dir"}) |
| 755 | 100 | T | F | unless ("File::Spec"->file_name_is_absolute($$self{"upload_dir"})) |
| 763 | 100 | T | F | unless (-d $$self{"upload_dir"}) |
| 771 | 100 | T | F | unless (-w $$self{"upload_dir"}) |
| 781 | 50 | T | F | unless ($$self{"upload_dir"} =~ /^\Q$tmpdir\E/) |
| 789 | 50 | T | F | if ($content_type =~ /boundary=(\S+)$/) |
| 797 | 50 | T | F | if ($stdin_data) { } |
| 800 | 50 | T | F | if (read(STDIN, $buffer, $content_length) != $content_length) |
| 814 | 50 | T | F | unless "JSON::MaybeXS"->can("parse_json") |
| 820 | 50 | T | F | if ($stdin_data) { } |
| 823 | 50 | T | F | if (read(STDIN, $buffer, $content_length) != $content_length) |
| 838 | 50 | T | F | if ($stdin_data) { } |
| 841 | 50 | T | F | if (read(STDIN, $buffer, $content_length) != $content_length) |
| 868 | 100 | T | F | unless (scalar @pairs) |
| 880 | 100 | T | F | unless $key |
| 886 | 50 | T | F | if (defined $value) { } |
| 897 | 100 | T | F | if ($$self{"allow"}) |
| 899 | 100 | T | F | unless (exists $$self{"allow"}{$key}) |
| 906 | 100 | T | F | if (defined(my $schema = $$self{"allow"}{$key})) |
| 907 | 100 | T | F | if (not ref $schema) { } |
| 100 | T | F | elsif (ref $schema eq 'Regexp') { } |
| 100 | T | F | elsif (ref $schema eq 'CODE') { } |
| 909 | 100 | T | F | if ($value ne $schema) |
| 915 | 100 | T | F | unless ($value =~ /$schema/) |
| 922 | 100 | T | F | unless (&$schema($key, $value, $self)) |
| 936 | 100 | T | F | if ($@) |
| 941 | 50 | T | F | if (scalar keys %{$value;}) { } |
| 958 | 100 | T | F | if (not defined $ENV{"REQUEST_METHOD"} or $ENV{"REQUEST_METHOD"} eq "GET") |
| 962 | 100 | T | F | if ($value =~ /(\%27)|(\')|(\%23)|(\#)/xi or $value =~ /((\%3D)|(=))[^\n]*((\%27)|(\')|(\-\-)|(\%3B)|(;))/i or $value =~ /\w*((\%27)|(\'))((\%6F)|o|(\%4F))((\%72)|r|(\%52))\s*(OR|AND|UNION|SELECT|--)/xi or $value =~ /((\%27)|(\'))union/xi or $value =~ /select[[a-z]\s\*]from/xi or $value =~ /\sAND\s1=1/xi or $value =~ /\sOR\s.+\sAND\s/ or $value =~ m[/\*\*/ORDER/\*\*/BY/\*\*]xi or $value =~ m[/AND/.+\(SELECT/] or $value =~ /exec(\s|\+)+(s|x)p\w+/xi) |
| 973 | 100 | T | F | if ($ENV{'REMOTE_ADDR'}) { } |
| 980 | 50 | T | F | if (my $agent = $ENV{"HTTP_USER_AGENT"}) |
| 981 | 0 | T | F | if ($agent =~ /SELECT.+AND.+/ or $agent =~ /ORDER BY / or $agent =~ / OR NOT / or $agent =~ / AND \d+=\d+/ or $agent =~ /THEN.+ELSE.+END/ or $agent =~ /.+AND.+SELECT.+/ or $agent =~ /\sAND\s.+\sAND\s/) |
| 983 | 0 | T | F | if ($ENV{'REMOTE_ADDR'}) { } |
| 991 | 100 | T | F | if ($value =~ m[((\%3C)|<)((\%2F)|/)*[a-z0-9\%]+((\%3E)|>)]xi or $value =~ /((\%3C)|<)[^\n]+((\%3E)|>)/i or $orig_value =~ m[((\%3C)|<)((\%2F)|/)*[a-z0-9\%]+((\%3E)|>)]xi or $orig_value =~ /((\%3C)|<)[^\n]+((\%3E)|>)/i) |
| 999 | 50 | T | F | if ($value =~ m[mustleak\.com/]) |
| 1004 | 100 | T | F | if ($value =~ m[\.\./]) |
| 1010 | 100 | T | F | if (length $value > 0) |
| 1012 | 100 | T | F | if ($FORM{$key} and $FORM{$key} ne $value) { } |
| 1020 | 100 | T | F | unless (%FORM) |
| 1024 | 50 | T | F | if ($$self{"logger"}) |
| 1063 | 100 | T | F | unless (defined $field) |
| 1067 | 100 | T | F | if ($$self{"allow"} and not exists $$self{"allow"}{$field}) |
| 1076 | 100 | T | F | if ($$self{"in_param"} and $$self{"allow"}) |
| 1084 | 100 | T | F | if $allow |
| 1086 | 100 | T | F | if ($params) |
| 1094 | 50 | T | F | unless defined $arg |
| 1119 | 50 | T | F | if ($total_bytes == 0) |
| 1123 | 50 | T | F | unless ($stdin_data) |
| 1129 | 50 | T | F | unless ($stdin_data) |
| 1144 | 100 | T | F | if ($line =~ /^--\Q$boundary\E--$/) |
| 1147 | 100 | T | F | if ($line =~ /^--\Q$boundary\E$/) { } |
| 100 | T | F | elsif ($in_header) { } |
| 1148 | 50 | T | F | if ($writing_file) { } |
| 100 | T | F | elsif (defined $key) { } |
| 1157 | 100 | T | F | if (length $line == 0) { } |
| 100 | T | F | elsif ($line =~ /^Content-Disposition: (.+)/i) { } |
| 1161 | 50 | T | F | if ($field =~ /name="(.+?)"/) |
| 1164 | 100 | T | F | if ($field =~ /filename="(.+)?"/) |
| 1166 | 100 | T | F | do {
$filename =~ m[[\\/\|]]
} ? : |
| 50 | T | F | defined $filename ? : |
| 1179 | 50 | T | F | unless (open $fout, ">", $full_path) |
| 1189 | 100 | T | F | if ($writing_file) { } |
| 1197 | 50 | T | F | if ($writing_file) |
| 1215 | 50 | T | F | $counter ? : |
| 1226 | 50 | T | F | if ($$args{"filename"} =~ m<(^[\w\+_\040\#\(\)\{\}\[\]/\-\^,\.:;&%\@\\~]+\$?$)>) |
| 1245 | 100 | T | F | if (defined $$self{"is_mobile"}) |
| 1249 | 100 | T | F | if ($ENV{"IS_MOBILE"}) |
| 1254 | 100 | T | F | if (my $ch_ua_mobile = $ENV{"HTTP_SEC_CH_UA_MOBILE"}) |
| 1255 | 100 | T | F | if ($ch_ua_mobile eq "?1") |
| 1261 | 100 | T | F | if ($ENV{"HTTP_X_WAP_PROFILE"}) |
| 1268 | 100 | T | F | if (my $agent = $ENV{"HTTP_USER_AGENT"}) |
| 1269 | 100 | T | F | if ($agent =~ /.+(Android|iPhone).+/) |
| 1275 | 100 | T | F | if ($agent =~ m[(android|bb\d+|meego).+mobile|avantgo|bada/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino]i or substr($ENV{"HTTP_USER_AGENT"}, 0, 4) =~ m[1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-]i) |
| 1282 | 50 | T | F | if (defined $remote and $$self{"cache"}) |
| 1283 | 0 | T | F | if (my $type = $$self{"cache"}->get("$remote/$agent")) |
| 1288 | 100 | T | F | unless ($$self{"browser_detect"}) |
| 1289 | 50 | T | F | if (eval {
do {
require HTTP::BrowserDetect
}
}) |
| 1295 | 50 | T | F | if ($$self{"browser_detect"}) |
| 1298 | 100 | T | F | defined $device && $device =~ /blackberry|webos|iphone|ipod|ipad|android/i ? : |
| 1299 | 50 | T | F | if ($is_mobile and $$self{"cache"} and defined $remote) |
| 1318 | 100 | T | F | if (defined $$self{"is_tablet"}) |
| 1322 | 100 | T | F | if ($ENV{'HTTP_USER_AGENT'} and $ENV{'HTTP_USER_AGENT'} =~ /.+(iPad|TabletPC).+/) { } |
| 1351 | 100 | T | F | if ($$args{'raw'}) { } |
| 1367 | 50 | T | F | if $rc |
| 1382 | 100 | T | F | if ($ENV{"SCRIPT_URI"} and $ENV{"SCRIPT_URI"} =~ m[^(.+)://.+]) |
| 1385 | 100 | T | F | if ($ENV{"SERVER_PROTOCOL"} and $ENV{"SERVER_PROTOCOL"} =~ m[^HTTP/]) |
| 1389 | 100 | T | F | if (my $port = $ENV{"SERVER_PORT"}) |
| 1390 | 50 | T | F | if (defined(my $name = getservbyport($port, 'tcp'))) { } |
| 0 | T | F | elsif ($port == 80) { } |
| 0 | T | F | elsif ($port == 443) { } |
| 1391 | 100 | T | F | if ($name =~ /https?/) { } |
| 50 | T | F | elsif ($name eq 'www') { } |
| 1406 | 50 | T | F | if ($ENV{"REMOTE_ADDR"}) |
| 1443 | 50 | T | F | if ($^O eq "MSWin32") |
| 1449 | 100 | T | F | unless (ref $self) |
| 1454 | 100 | T | F | if ($ENV{"C_DOCUMENT_ROOT"} and -d $ENV{"C_DOCUMENT_ROOT"}) |
| 1456 | 100 | T | F | if (-d $dir and -w $dir) |
| 1460 | 50 | T | F | if (-d $dir and -w $dir) |
| 1464 | 100 | T | F | if ($ENV{"DOCUMENT_ROOT"} and -d $ENV{"DOCUMENT_ROOT"}) |
| 1466 | 50 | T | F | if (-d $dir and -w $dir) |
| 1470 | 100 | T | F | $$params{'default'} ? : |
| 1488 | 100 | T | F | if ($ENV{'C_DOCUMENT_ROOT'} and -d $ENV{'C_DOCUMENT_ROOT'}) { } |
| 100 | T | F | elsif ($ENV{'DOCUMENT_ROOT'} and -d $ENV{'DOCUMENT_ROOT'}) { } |
| 1495 | 50 | T | F | unless ("File::Spec"->file_name_is_absolute($script_name)) |
| 1498 | 50 | T | F | if ($script_name =~ /.cgi\-bin.*/) |
| 1501 | 50 | T | F | if (-f $script_name) |
| 1502 | 50 | T | F | if ($^O eq 'MSWin32') { } |
| 1503 | 0 | T | F | if ($script_name =~ /(.+)\\.+?$/) |
| 1507 | 50 | T | F | if ($script_name =~ m[(.+)/.+?$]) |
| 1523 | 100 | T | F | if ($_[0] and ref $_[0]) |
| 1539 | 100 | T | F | if ($_[0] and ref $_[0]) |
| 1557 | 100 | T | F | unless (ref $self) |
| 1561 | 100 | T | F | if ($dir) |
| 1562 | 100 | T | F | if (length $dir and -d $dir and -w $dir) |
| 1570 | 100 | T | F | if (defined $rc and length $rc and -d $rc and -w $rc) |
| 1575 | 50 | T | F | if not defined $dir or length $dir == 0 |
| 1601 | 100 | T | F | if (defined $$self{"is_robot"}) |
| 1608 | 100 | T | F | unless ($remote and $agent) |
| 1614 | 50 | T | F | if ($agent =~ /SELECT.+AND.+/ or $agent =~ /ORDER BY / or $agent =~ / OR NOT / or $agent =~ / AND \d+=\d+/ or $agent =~ /THEN.+ELSE.+END/ or $agent =~ /.+AND.+SELECT.+/ or $agent =~ /\sAND\s.+\sAND\s/) |
| 1617 | 50 | T | F | if ($ENV{'REMOTE_ADDR'}) { } |
| 1624 | 100 | T | F | if ($agent =~ m[.+bot|axios/1\.6\.7|bidswitchbot|bytespider|ClaudeBot|Clickagy.Intelligence.Bot|msnptc|CriteoBot|is_archiver|backstreet|fuzz faster|linkfluence\.com|spider|scoutjet|gingersoftware|heritrix|dodnetdotcom|yandex|nutch|ezooms|plukkie|nova\.6scan\.com|Twitterbot|adscanner|Go-http-client|python-requests|Mediatoolkitbot|NetcraftSurveyAgent|Expanse|serpstatbot|DreamHost SiteMonitor|techiaith.cymru|trendictionbot|ias_crawler|WPsec|Yak/1\.0|ZoominfoBot]i) |
| 1635 | 100 | T | F | if (my $referrer = $ENV{"HTTP_REFERER"}) |
| 1677 | 50 | T | F | if ($referrer =~ /\)/ or &List::Util::any(sub {
$_ =~ /^$referrer/;
}
, @crawler_lists)) |
| 1680 | 50 | T | F | if ($$self{"cache"}) |
| 1688 | 50 | T | F | if (defined $remote and $$self{"cache"}) |
| 1689 | 0 | T | F | if (my $type = $$self{"cache"}->get("$remote/$agent")) |
| 1696 | 50 | T | F | if ($agent =~ /www\.majestic12\.co\.uk|facebookexternal/) |
| 1698 | 0 | T | F | if ($$self{"cache"}) |
| 1704 | 100 | T | F | unless ($$self{"browser_detect"}) |
| 1705 | 50 | T | F | if (eval {
do {
require HTTP::BrowserDetect
}
}) |
| 1710 | 50 | T | F | if ($$self{"browser_detect"}) |
| 1712 | 100 | T | F | if (defined $is_robot) |
| 1715 | 100 | T | F | defined $is_robot && $is_robot ? : |
| 1718 | 100 | T | F | if ($is_robot) |
| 1719 | 50 | T | F | if ($$self{"cache"}) |
| 1727 | 50 | T | F | if ($$self{"cache"}) |
| 1752 | 100 | T | F | if (defined $$self{"is_search_engine"}) |
| 1756 | 100 | T | F | if ($ENV{"IS_SEARCH_ENGINE"}) |
| 1763 | 100 | T | F | unless ($remote and $agent) |
| 1770 | 50 | T | F | if ($$self{"cache"}) |
| 1772 | 0 | T | F | if (defined $remote and $$self{"cache"}) |
| 1773 | 0 | T | F | if (my $type = $$self{"cache"}->get("$remote/$agent")) |
| 1781 | 50 | T | F | if ($agent =~ /www\.majestic12\.co\.uk|facebookexternal/) |
| 1783 | 0 | T | F | if ($$self{"cache"}) |
| 1789 | 100 | T | F | unless ($$self{"browser_detect"}) |
| 1790 | 50 | T | F | if (eval {
do {
require HTTP::BrowserDetect
}
}) |
| 1795 | 50 | T | F | if (my $browser = $$self{"browser_detect"}) |
| 1797 | 100 | T | F | unless ($is_search) |
| 1798 | 50 | T | F | if ($agent =~ m[SeznamBot/] or $agent =~ m[Google-InspectionTool/] or $agent =~ m[Googlebot/]) |
| 1804 | 50 | T | F | if ($is_search and $$self{"cache"}) |
| 1815 | 0 | T | F | if (defined $hostname and $hostname =~ /google|msnbot|bingbot|amazonbot|GPTBot/ and not $hostname =~ /^google-proxy/ or Net::CIDR::cidrlookup($remote, @cidr_blocks)) |
| 1817 | 0 | T | F | if ($$self{"cache"}) |
| 1855 | 100 | T | F | if ($self->is_mobile) |
| 1858 | 100 | T | F | if ($self->is_search_engine) |
| 1861 | 100 | T | F | if ($self->is_robot) |
| 1953 | 100 | T | F | unless (defined $field) |
| 1959 | 100 | T | F | unless ($$self{"jar"}) |
| 1960 | 100 | T | F | if (defined $ENV{"HTTP_COOKIE"}) |
| 1983 | 100 | T | F | if defined $status |
| 1986 | 100 | T | F | unless (defined $$self{"status"}) |
| 1989 | 100 | T | F | if $method and $method eq 'OPTIONS' || $method eq 'DELETE' |
| 1990 | 100 | T | F | if $method and ($method eq "POST" and not defined $ENV{"CONTENT_LENGTH"}) |
| 2030 | 100 | T | F | if (scalar $$self{"messages"}) |
| 2053 | 50 | T | F | if ($cache) |
| 2073 | 50 | T | F | if (my $logger = $$params{'logger'}) { } |
| 2074 | 100 | T | F | if (&Scalar::Util::blessed($logger)) { } |
| 2095 | 50 | T | F | if (scalar @messages and my $logger = $$self{"logger"}) |
| 2126 | 50 | T | F | if (not defined $$self{"logger"}) |
| 2137 | 50 | T | F | if (not defined $$self{"logger"}) |
| 2148 | 100 | T | F | unless defined $ENV{$var} |
| 2151 | 50 | T | F | if ($ENV{$var} =~ m(^[\w\.\-/:\\]+$)) |
| 2170 | 100 | T | F | unless ($class eq __PACKAGE__) |
| 2182 | 50 | T | F | unless my $self = shift() |
| 2188 | 100 | T | F | if $method eq "DESTROY" |
| 2190 | 50 | T | F | unless ref $self |
| 2193 | 100 | T | F | if exists $self->{'auto_load'} and &boolean($$self{"auto_load"})->isFalse |
| 2196 | 50 | T | F | unless ref $self eq __PACKAGE__ or UNIVERSAL::isa((&CORE::GLOBAL::caller())[0], __PACKAGE__) |
| 2199 | 50 | T | F | unless $method =~ /^[a-zA-Z_][a-zA-Z0-9_]*$/ |