Branch Coverage

blib/lib/HTTP/Daemon.pm
Criterion Covered Total %
branch 69 198 34.8


line true false branch
26 0 1 if (exists $args{$key} and !defined($args{$key}) || $args{$key} eq '')
37 6 0 if ($sock) { }
39 0 6 wantarray ? :
51 3 6 if $host eq "0.0.0.0"
52 0 9 if $host eq "::"
53 1 8 if $self->sockdomain == 10
57 9 0 if $port != $self->_default_port
100 0 6 if (do { *$self }->{'httpd_nomore'})
107 6 0 unless defined $buf
119 6 6 if ($buf =~ /\012/) { }
0 6 elsif (length $buf > 16384) { }
120 6 0 if ($buf =~ m[^\w+[^\012]+HTTP/\d+\.\d+\015?\012]) { }
121 6 0 if ($buf =~ /\015?\012\015?\012/) { }
0 0 elsif (length $buf > 16384) { }
139 0 6 if $DEBUG
140 0 6 unless $self->_need_more($buf, $timeout, $fdset)
142 0 6 unless ($buf =~ s[^(\S+)[ \t]+(\S+)(?:[ \t]+(HTTP/\d+\.\d+))?[^\012]*\012][])
151 0 6 if $method eq "CONNECT"
158 6 0 if ($proto >= $HTTP_1_0)
166 23 6 if (/^([^:\s]+)\s*:\s*(.*)/) { }
0 6 elsif (/^\s+(.*)/) { }
167 17 6 if $key
177 6 0 if $key
181 6 0 if ($proto >= $HTTP_1_1) { }
182 1 5 if $conn and lc($conn) =~ /\bclose\b/
185 0 0 unless $conn and lc($conn) =~ /\bkeep-alive\b/
189 0 6 if ($only_headers)
201 0 0 if (lc $e eq '100-continue') { }
212 4 2 if ($te and lc $te eq 'chunked') { }
0 2 elsif ($te) { }
1 1 elsif ($len) { }
0 2 elsif ($ct and $ct =~ m[^multipart/\w+\s*;.*boundary\s*=\s*("?)(\w+)\1]i) { }
218 0 1031 if $DEBUG
219 1031 0 if ($buf =~ s/^([^\012]*)\012//) { }
221 0 1031 unless ($chunk_head =~ /^([0-9A-Fa-f]+)/)
227 4 1027 if $size == 0
232 0 555 if $DEBUG
234 0 555 unless $n
243 0 0 unless $self->_need_more($buf, $timeout, $fdset)
255 0 4 if (not $buf =~ /\012/) { }
258 0 0 unless $self->_need_more($buf, $timeout, $fdset)
264 0 4 if (/^([\w\-]+)\s*:\s*(.*)/) { }
0 4 elsif (/^\s+(.*)/) { }
4 0 elsif (not length $_) { }
265 0 0 if $key
280 0 4 if $key
294 0 0 if $DEBUG
296 0 0 unless $n
299 0 1 if (length $buf > $len) { }
315 0 0 if $index >= 0
318 0 0 unless $self->_need_more($buf, $timeout, $fdset)
334 0 561 if ($_[1])
336 0 0 if $DEBUG
338 0 0 unless ($n)
339 0 0 defined $n ? :
343 0 561 if $DEBUG
345 0 0 defined $n ? :
0 561 unless $n
352 0 0 if (@_)
361 6 0 if (@_)
374 0 16 unless m[^(?:HTTP/)?(\d+)\.(\d+)$]i
396 0 6 if $self->antique_client
410 0 6 if $self->antique_client
414 6 0 if $product
421 0 0 unless defined $v
429 0 6 unless (ref $res)
435 6 0 unless ($self->antique_client)
438 0 6 if ($code =~ /^(1\d\d|[23]04)$/) { }
0 6 elsif ($res->request and $res->request->method eq 'HEAD') { }
0 6 elsif (ref $content eq 'CODE') { }
5 1 elsif (length $content) { }
449 0 0 if ($self->proto_ge('HTTP/1.1')) { }
467 0 6 if ($self->head_request) { }
0 6 elsif (ref $content eq 'CODE') { }
5 1 elsif (length $content) { }
474 0 0 unless defined $chunk and length $chunk
475 0 0 if ($chunked) { }
482 0 0 if $chunked
492 0 0 unless &is_redirect($status)
495 0 0 unless ref $loc
499 0 0 if ($content)
500 0 0 $content =~ /^\s*
504 0 0 if $content and not $self->head_request
511 0 0 unless &is_error($status)
519 0 0 unless ($self->antique_client)
525 0 0 unless $self->head_request
531 0 0 if (-d $file) { }
0 0 elsif (-f _) { }
538 0 0 unless sysopen F, $file, 0
542 0 0 unless ($self->antique_client)
545 0 0 if $ce
546 0 0 if $size
547 0 0 if $mtime
550 0 0 unless $self->head_request
560 0 0 unless -d $dir
568 0 0 unless (ref $file)
569 0 0 unless open FILE, $file
578 0 0 unless $n
582 0 0 if $opened