| line |
true |
false |
branch |
|
51
|
1 |
113 |
defined $args{'min_reqs_per_child'} ? : |
|
|
0 |
114 |
defined $args{'err_respawn_interval'} ? : |
|
56
|
0 |
114 |
if ($args{'max_workers'} and $args{'max_workers'} > 1) |
|
74
|
104 |
9 |
if (scalar grep({defined $_;} @{$$self{'listens'};}) == 0) |
|
76
|
98 |
6 |
if ($self->{'port'} =~ /^[0-9]+$/s) { } |
|
81
|
0 |
98 |
unless $sock = 'IO::Socket::INET'->new('Listen', 128, 'LocalPort', $self->{'port'}, 'LocalAddr', $self->{'host'}, 'Proto', 'tcp', 'ReuseAddr', 1) |
|
88
|
0 |
6 |
unless $sock = 'IO::Socket::UNIX'->new('Listen', 128, 'Local', $self->{'port'}) |
|
103
|
107 |
24 |
if ($^O eq 'linux' and $listen->{'_is_tcp'}) |
|
105
|
107 |
0 |
if setsockopt $listen->{'sock'}, 6, 9, 1 |
|
109
|
3 |
110 |
if (scalar @listens > 1) |
|
138
|
84 |
188 |
if $self->{'term_received'} |
|
140
|
84 |
104 |
unless $conn |
|
143
|
0 |
104 |
unless defined $conn->blocking(0) |
|
146
|
98 |
6 |
if ($listen->{'_is_tcp'}) |
|
147
|
0 |
98 |
unless $conn->setsockopt(6, 1, 1) |
|
178
|
0 |
0 |
if ($may_keepalive and $max_reqs_per_child and $proc_req_count >= $max_reqs_per_child) |
|
181
|
0 |
104 |
if length $pipelined_buf |
|
186
|
16 |
87 |
if ($env->{'psgix.harakiri.commit'}) |
|
190
|
87 |
0 |
unless $keepalive |
|
201
|
99 |
2 |
if (scalar @listens == 1) { } |
|
204
|
97 |
82 |
if (my($conn, $peer) = $listen->{'sock'}->accept) |
|
215
|
0 |
14 |
unless defined $listen->{'sock'}->blocking(0) |
|
223
|
0 |
2 |
unless open my $lock_fh, '>', $self->{'lock_path'} |
|
226
|
1 |
8 |
unless (flock $lock_fh, 2) |
|
227
|
0 |
1 |
if $! != 4 |
|
234
|
21 |
7 |
unless vec $rout, $fd, 1 |
|
237
|
7 |
0 |
if (my($conn, $peer) = $listen->{'sock'}->accept) |
|
258
|
0 |
104 |
if ($rlen = length $prebuf) { } |
|
266
|
0 |
104 |
$is_keepalive ? : |
|
|
10 |
94 |
unless $rlen = $self->read_timeout($conn, \$buf, 131072 - length($buf), length $buf, $is_keepalive ? $self->{'keepalive_timeout'} : $self->{'timeout'}) |
|
269
|
93 |
1 |
if ($reqlen >= 0) |
|
272
|
0 |
93 |
if ($use_keepalive) |
|
273
|
0 |
0 |
if ($self->{'term_received'}) { } |
|
|
0 |
0 |
elsif ($protocol eq 'HTTP/1.1') { } |
|
276
|
0 |
0 |
if (my $c = $env->{'HTTP_CONNECTION'}) |
|
277
|
0 |
0 |
if $c =~ /^\s*close\s*/i |
|
281
|
0 |
0 |
if (my $c = $env->{'HTTP_CONNECTION'}) { } |
|
282
|
0 |
0 |
unless $c =~ /^\s*keep-alive\s*/i |
|
291
|
5 |
88 |
if (my $cl = $env->{'CONTENT_LENGTH'}) { } |
|
|
1 |
87 |
elsif ($chunked) { } |
|
295
|
4 |
1 |
if (length $buf) { } |
|
301
|
1 |
0 |
unless $self->read_timeout($conn, \$chunk, $cl, 0, $self->{'timeout'}) |
|
314
|
1 |
2 |
if (length $buf) { } |
|
320
|
0 |
2 |
unless $self->read_timeout($conn, \$chunk, 65536, 0, $self->{'timeout'}) |
|
327
|
1 |
78 |
if ($chunk_len == 0) { } |
|
|
0 |
78 |
elsif (length $chunk_buffer < $chunk_len + 2) { } |
|
341
|
0 |
87 |
if ($buf =~ /^(?:GET|HEAD)/) |
|
348
|
0 |
92 |
if ($env->{'HTTP_EXPECT'}) |
|
349
|
0 |
0 |
if ($env->{'HTTP_EXPECT'} eq '100-continue') { } |
|
350
|
0 |
0 |
unless $self->write_all($conn, "HTTP/1.1 100 Continue\r\n\r\n") |
|
361
|
0 |
1 |
if ($reqlen == -2) { } |
|
|
1 |
0 |
elsif ($reqlen == -1) { } |
|
369
|
89 |
3 |
if (ref $res eq 'ARRAY') { } |
|
|
3 |
0 |
elsif (ref $res eq 'CODE') { } |
|
394
|
1 |
106 |
if ($lck eq 'connection') { } |
|
395
|
0 |
1 |
if $$use_keepalive_r and lc $v ne 'keep-alive' |
|
402
|
91 |
1 |
unless (exists $send_headers{'server'}) |
|
405
|
92 |
0 |
unless (exists $send_headers{'date'}) |
|
411
|
81 |
11 |
if (defined $protocol and $protocol eq 'HTTP/1.1') { } |
|
412
|
4 |
77 |
if (defined $send_headers{'content-length'} or defined $send_headers{'transfer-encoding'}) { } |
|
|
76 |
1 |
elsif (not Plack::Util::status_with_no_entity_body($status_code)) { } |
|
419
|
81 |
0 |
unless $$use_keepalive_r |
|
422
|
0 |
11 |
if ($$use_keepalive_r) |
|
423
|
0 |
0 |
if (defined $send_headers{'content-length'} or defined $send_headers{'transfer-encoding'}) { } |
|
|
0 |
0 |
elsif (not Plack::Util::status_with_no_entity_body($status_code) and defined(my $cl = Plack::Util::content_length($body))) { } |
|
433
|
0 |
11 |
if $$use_keepalive_r |
|
434
|
11 |
0 |
unless $$use_keepalive_r |
|
440
|
82 |
3 |
if (defined $body and ref $body eq 'ARRAY' and @$body == 1 and length $body->[0] < 8192) |
|
444
|
70 |
12 |
if ($use_chunked) |
|
454
|
0 |
10 |
unless $self->write_all($conn, join('', @lines), $self->{'timeout'}) |
|
456
|
8 |
2 |
if (defined $body) { } |
|
459
|
3 |
5 |
ref $body eq 'ARRAY' ? : |
|
463
|
10 |
0 |
unless ($failed) |
|
466
|
7 |
3 |
if ($use_chunked) |
|
468
|
0 |
7 |
unless $len |
|
470
|
2 |
5 |
if ($body_count == 0) |
|
476
|
0 |
10 |
unless $self->write_all($conn, $buf, $self->{'timeout'}) |
|
480
|
2 |
6 |
if $use_chunked and not $completed |
|
485
|
5 |
0 |
if ($use_chunked) |
|
487
|
1 |
4 |
unless $len |
|
493
|
2 |
0 |
if $use_chunked |
|
502
|
9 |
98 |
unless ($is_write or delete $self->{'_is_deferred_accept'}) |
|
507
|
110 |
107 |
if ($is_write) { } |
|
508
|
110 |
0 |
if $ret = syswrite($sock, $buf, $len, $off) |
|
511
|
96 |
11 |
if $ret = sysread($sock, $$buf, $len, $off) |
|
514
|
11 |
0 |
unless (not defined $ret and $! == 4 || $! == 11 || $! == 11) |
|
524
|
0 |
9 |
if ($is_write) { } |
|
532
|
9 |
0 |
if $nfound |
|
533
|
0 |
0 |
if $timeout <= 0 |
|
555
|
0 |
110 |
unless my $ret = $self->write_timeout($sock, $buf, $len, $off, $timeout) |