line |
true |
false |
branch |
102
|
0 |
75 |
if (@ARGV and not defined $ENV{'REQUEST_METHOD'}) |
109
|
8 |
65 |
unless (eval {
do {
local $_ = $cgi;
&$handler();
1
}
}) |
111
|
8 |
65 |
if ($errored) { } |
|
20 |
45 |
elsif (not $cgi->{'headers_rendered'}) { } |
124
|
5 |
2 |
if (defined $cgi) |
125
|
5 |
0 |
unless $cgi->{'headers_rendered'} |
133
|
1 |
32 |
unless $cgi->{'pid'} == $$ |
135
|
22 |
9 |
unless $cgi->{'headers_rendered'} or defined $cgi->{'response_status'} and $cgi->{'response_status'} =~ /^[45][0-9]{2} / |
136
|
30 |
2 |
if (defined(my $handler = $cgi->{'on_error'})) { } |
140
|
0 |
30 |
unless (eval {
do {
&$handler($cgi, $error, !!$cgi->{'headers_rendered'});
1
}
}) |
142
|
0 |
30 |
unless $cgi->{'pid'} == $$ |
143
|
0 |
30 |
if ($error_errored) |
150
|
31 |
1 |
unless $cgi->{'headers_rendered'} |
161
|
1 |
0 |
defined $ENV{'AUTH_TYPE'} ? : |
162
|
1 |
0 |
defined $ENV{'CONTENT_LENGTH'} ? : |
163
|
1 |
0 |
defined $ENV{'CONTENT_TYPE'} ? : |
164
|
1 |
0 |
defined $ENV{'GATEWAY_INTERFACE'} ? : |
165
|
2 |
0 |
defined $ENV{'PATH_INFO'} ? : |
167
|
1 |
0 |
defined $ENV{'PATH_TRANSLATED'} ? : |
168
|
5 |
0 |
defined $ENV{'QUERY_STRING'} ? : |
170
|
1 |
0 |
defined $ENV{'REMOTE_ADDR'} ? : |
171
|
1 |
0 |
defined $ENV{'REMOTE_HOST'} ? : |
172
|
1 |
0 |
defined $ENV{'REMOTE_IDENT'} ? : |
173
|
1 |
0 |
defined $ENV{'REMOTE_USER'} ? : |
174
|
2 |
0 |
defined $ENV{'REQUEST_METHOD'} ? : |
176
|
1 |
0 |
defined $ENV{'SCRIPT_NAME'} ? : |
177
|
1 |
0 |
defined $ENV{'SERVER_NAME'} ? : |
178
|
1 |
0 |
defined $ENV{'SERVER_PORT'} ? : |
179
|
1 |
0 |
defined $ENV{'SERVER_PROTOCOL'} ? : |
180
|
1 |
0 |
defined $ENV{'SERVER_SOFTWARE'} ? : |
184
|
1 |
0 |
unless (exists $self->{'request_headers'}) |
188
|
51 |
3 |
unless $name =~ s/^HTTP_// |
201
|
1 |
1 |
exists $$c{$_[1]} ? : |
202
|
1 |
0 |
exists $$c{$_[1]} ? : |
206
|
1 |
4 |
unless (exists $self->{'request_cookies'}) |
208
|
1 |
0 |
if (defined $ENV{'HTTP_COOKIE'}) |
210
|
0 |
4 |
unless length $pair |
212
|
0 |
4 |
unless defined $value |
213
|
3 |
1 |
unless exists $keyed{$name} |
227
|
1 |
2 |
if exists $p->{$name} |
229
|
1 |
1 |
exists $q->{$name} ? : |
231
|
4 |
2 |
exists $$_{$_[1]} ? : |
235
|
1 |
1 |
exists $$p{$_[1]} ? : |
236
|
1 |
1 |
exists $$p{$_[1]} ? : |
240
|
3 |
10 |
unless (exists $self->{'query_params'}) |
244
|
0 |
10 |
unless defined $value |
246
|
8 |
2 |
unless exists $keyed{$name} |
256
|
6 |
0 |
unless (exists $self->{'body_content'} or exists $self->{'body_parts'}) |
259
|
5 |
0 |
defined $self->{'input_handle'} ? : |
263
|
5 |
0 |
$length < $buffer_size ? : |
264
|
0 |
5 |
unless my $read = read($in_fh, $self->{'body_content'}, $chunk, length $self->{'body_content'}) |
273
|
3 |
1 |
unless (exists $self->{'body_json'}) |
275
|
2 |
1 |
if ($ENV{'CONTENT_TYPE'} and $ENV{'CONTENT_TYPE'} =~ m[^application/json\b]i) |
284
|
7 |
1 |
exists $$p{$_[1]} ? : |
285
|
5 |
1 |
exists $$p{$_[1]} ? : |
289
|
9 |
28 |
unless (exists $self->{'body_params'}) |
291
|
2 |
7 |
if ($ENV{'CONTENT_TYPE'} and $ENV{'CONTENT_TYPE'} =~ m[^application/x-www-form-urlencoded\b]i) { } |
|
6 |
2 |
elsif ($ENV{'CONTENT_TYPE'} and $ENV{'CONTENT_TYPE'} =~ m[^multipart/form-data\b]i) { } |
294
|
0 |
8 |
unless defined $value |
296
|
6 |
2 |
unless exists $keyed{$name} |
302
|
1 |
5 |
unless defined $default_charset |
304
|
8 |
10 |
if defined $part->{'filename'} |
306
|
10 |
0 |
if (length $default_charset) |
311
|
9 |
1 |
if (defined $content) { } |
|
1 |
0 |
elsif (defined $file) { } |
320
|
5 |
5 |
if (defined $headers->{'content-type'}) |
321
|
5 |
0 |
if (my($charset_quoted, $charset_unquoted) = $headers->{'content-type'} =~ /;\s*charset=(?:"((?:\\[\\"]|[^"])+)"|([^";]+))/i) |
322
|
0 |
5 |
if defined $charset_quoted |
323
|
0 |
5 |
defined $charset_quoted ? : |
326
|
5 |
0 |
if (defined $value_charset or not defined $headers->{'content-type'} or $headers->{'content-type'} =~ m[^text/plain\b]i) |
328
|
5 |
5 |
if (defined $value_charset) { } |
|
5 |
0 |
elsif (length $default_charset) { } |
334
|
8 |
2 |
unless exists $keyed{$name} |
345
|
1 |
8 |
unless $ENV{'CONTENT_TYPE'} and $ENV{'CONTENT_TYPE'} =~ m[^multipart/form-data\b]i |
351
|
6 |
1 |
exists $$u{$_[1]} ? : |
352
|
5 |
1 |
exists $$u{$_[1]} ? : |
356
|
6 |
19 |
unless (exists $self->{'body_uploads'}) |
358
|
6 |
0 |
if ($ENV{'CONTENT_TYPE'} and $ENV{'CONTENT_TYPE'} =~ m[^multipart/form-data\b]i) |
360
|
1 |
5 |
unless defined $default_charset |
362
|
10 |
8 |
unless defined $part->{'filename'} |
364
|
8 |
0 |
if (length $default_charset) |
374
|
5 |
3 |
if defined $file |
375
|
1 |
7 |
if defined $content |
376
|
7 |
1 |
unless exists $keyed{$name} |
388
|
11 |
1 |
unless defined $limit |
389
|
11 |
1 |
unless defined $limit |
391
|
1 |
11 |
if ($limit and $length > $limit) |
392
|
1 |
0 |
unless $self->{'headers_rendered'} |
400
|
8 |
12 |
unless (exists $self->{'body_parts'}) |
404
|
1 |
7 |
unless (defined $boundary) |
405
|
1 |
0 |
unless $self->{'headers_rendered'} |
410
|
1 |
6 |
if (exists $self->{'body_content'}) { } |
415
|
6 |
0 |
defined $self->{'input_handle'} ? : |
420
|
2 |
5 |
unless $self->{'multipart_form_options'} |
422
|
1 |
6 |
unless (defined $parts) |
423
|
1 |
0 |
unless $self->{'headers_rendered'} |
434
|
0 |
2 |
if ($self->{'headers_rendered'}) { } |
437
|
1 |
1 |
@_ < 2 ? : |
446
|
0 |
15 |
if ($self->{'headers_rendered'}) { } |
449
|
1 |
14 |
if (defined $status and $status =~ /\A[0-9]+ [^\r\n]*\z/) { } |
|
14 |
0 |
elsif (defined $status) { } |
452
|
1 |
13 |
unless exists $HTTP_STATUS{$status} |
465
|
0 |
4 |
if ($self->{'headers_rendered'}) { } |
468
|
0 |
4 |
unless exists $DISPOSITIONS{lc $disposition} |
479
|
0 |
36 |
if ($self->{'headers_rendered'}) { } |
482
|
0 |
36 |
if defined $content_type and $content_type =~ tr/\n\r// |
490
|
0 |
2 |
if defined $charset and $charset =~ /[^a-zA-Z0-9!#\$%&'*+\-.^_`|~]/ |
497
|
0 |
4 |
if ($self->{'headers_rendered'}) { } |
500
|
0 |
4 |
if $value =~ tr/\n\r// |
510
|
0 |
3 |
if ($self->{'headers_rendered'}) { } |
518
|
0 |
10 |
if (not defined $has_value) { } |
|
6 |
4 |
elsif ($has_value) { } |
521
|
6 |
0 |
if defined $val |
523
|
2 |
2 |
if $val |
528
|
0 |
3 |
if $cookie_str =~ tr/\n\r// |
539
|
15 |
0 |
if (defined $self->{'response_status'} and $self->{'response_status'} =~ /\A([0-9]+)/) |
550
|
0 |
65 |
if $self->{'headers_rendered'} |
551
|
22 |
43 |
unless defined $type |
552
|
0 |
65 |
if length $type and not exists $RENDER_TYPES{$type} |
553
|
0 |
65 |
if $type eq 'handle' |
556
|
3 |
62 |
if ($type eq 'redirect') { } |
|
1 |
61 |
elsif (uc($ENV{'REQUEST_METHOD'} || '') eq 'HEAD') { } |
|
5 |
56 |
elsif ($type eq 'text' or $type eq 'html' or $type eq 'xml') { } |
|
1 |
55 |
elsif ($type eq 'json') { } |
|
32 |
23 |
elsif ($type eq 'data') { } |
|
1 |
22 |
elsif ($type eq 'file') { } |
557
|
0 |
3 |
if $data =~ tr/\n\r// |
563
|
4 |
1 |
unless defined $charset |
564
|
4 |
1 |
if (uc $charset eq 'UTF-8' and do {
local $@;
eval {
do {
require Unicode::UTF8;
1
}
}
}) { } |
579
|
0 |
1 |
unless defined $response_length |
581
|
26 |
39 |
unless defined $response_length |
584
|
63 |
2 |
defined $self->{'output_handle'} ? : |
589
|
27 |
38 |
unless $response_length |
591
|
1 |
37 |
if ($type eq 'file') { } |
592
|
0 |
1 |
unless open my $in_fh, '<', $data |
607
|
0 |
17 |
if $self->{'response_fixed_length'} |
608
|
5 |
12 |
unless defined $type |
609
|
0 |
17 |
if length $type and not exists $RENDER_TYPES{$type} |
610
|
0 |
17 |
if $type eq 'redirect' |
612
|
17 |
0 |
defined $self->{'output_handle'} ? : |
613
|
12 |
5 |
unless ($self->{'headers_rendered'}) |
620
|
2 |
15 |
if (uc($ENV{'REQUEST_METHOD'} || '') eq 'HEAD') { } |
|
4 |
11 |
elsif ($type eq 'text' or $type eq 'html' or $type eq 'xml') { } |
|
2 |
9 |
elsif ($type eq 'json') { } |
|
2 |
7 |
elsif ($type eq 'data') { } |
|
2 |
5 |
elsif ($type eq 'file' or $type eq 'handle') { } |
624
|
3 |
1 |
unless defined $charset |
626
|
3 |
1 |
if (uc $charset eq 'UTF-8' and do {
local $@;
eval {
do {
require Unicode::UTF8;
1
}
}
}) { } |
640
|
1 |
1 |
if ($type eq 'file') { } |
641
|
0 |
1 |
unless open $in_fh, '<', $data |
659
|
0 |
77 |
if defined $self->{'debug_method'} and not $self->{'debug_verbose'} |
661
|
76 |
1 |
unless $self->{'response_headers'} |
666
|
65 |
12 |
if (not $headers_set{'content-length'} and defined $content_length) |
669
|
3 |
74 |
if (not $headers_set{'content-disposition'} and defined $self->{'response_disposition'} || defined $self->{'response_filename'}) |
670
|
3 |
0 |
defined $self->{'response_disposition'} ? : |
671
|
2 |
1 |
if (defined(my $filename = $self->{'response_filename'})) |
681
|
2 |
1 |
unless lc $value eq 'inline' |
683
|
3 |
74 |
if (not $headers_set{'location'} and $type eq 'redirect') |
686
|
74 |
3 |
if (not $headers_set{'content-type'} and $type ne 'redirect') |
689
|
72 |
2 |
unless defined $charset |
690
|
1 |
11 |
$type eq 'json' ? : |
|
1 |
12 |
$type eq 'xml' ? : |
|
2 |
13 |
$type eq 'html' ? : |
|
3 |
15 |
$type eq 'text' ? : |
|
18 |
22 |
unless defined $content_type or defined $content_length and $content_length == 0 |
697
|
52 |
22 |
if defined $content_type |
699
|
77 |
0 |
unless ($headers_set{'date'}) |
704
|
2 |
75 |
if $type eq 'redirect' and not defined $status && $status =~ /^3[0-9]{2} / |
706
|
2 |
75 |
if ($self->{'nph'}) { } |
|
37 |
38 |
elsif (not $headers_set{'status'} and defined $status) { } |
707
|
1 |
1 |
unless defined $status |
709
|
0 |
2 |
unless defined $protocol and length $protocol |
712
|
1 |
1 |
if defined $server and length $server |
721
|
3 |
2 |
unless (exists $self->{'json'}) |
722
|
3 |
0 |
if (do {
local $@;
eval {
do {
require Cpanel::JSON::XS;
'Cpanel::JSON::XS'->VERSION('4.09');
1
}
}
}) { } |
752
|
3 |
16 |
unless defined $mday |
757
|
2 |
17 |
unless defined $mday |
761
|
1 |
18 |
unless defined $mday |
766
|
0 |
18 |
length $year == 4 && $year < 1900 ? : |