Branch Coverage

blib/lib/File/HTTP.pm
Criterion Covered Total %
branch 1 226 0.4


line true false branch
35 0 1 if (grep {$_ eq '-everywhere';} @_)
147 0 0 if (defined $arg and ref $arg) { }
0 0 elsif ($arg =~ m[^https?://]i) { }
148 0 0 if ($arg->isa('File::HTTP')) { }
0 0 elsif (my $self = tied *$arg) { }
177 0 0 if (($dir || '') =~ m[^https?://]) { }
198 0 0 if (($dir || '') =~ m[^https?://]) { }
219 0 0 unless ($self->[26])
224 0 0 if (wantarray) { }
225 0 0 if ($self->[27]) { }
238 0 0 unless ($self->[26])
249 0 0 unless ($self->[26])
259 0 0 unless ($self->[26])
270 0 0 unless ($self->[26])
280 0 0 if @_ == 1
284 0 0 if (@_ == 2) { }
0 0 elsif ($file =~ s/^([+<>|]+)\s*//) { }
294 0 0 if (($file || '') =~ m[^https?://]) { }
295 0 0 if ($mode =~ /^\s*<(?:\s*\:raw)?\s*$/) { }
0 0 elsif ($mode =~ /<|\+/) { }
317 0 0 if (($file || '') =~ m[^https?://]) { }
323 0 0 if $offset and $_[0]
330 0 0 unless $url =~ m[^https?://]i
338 0 0 if (wantarray) { }
357 0 0 $fh ? :
372 0 0 $port == $Proto2Port{$proto} ? :
377 0 0 $type ? :
391 0 0 $fh ? :
409 0 0 unless print $fh $req_headers
411 0 0 unless $self->_read($headers, 5)
413 0 0 unless (defined $headers and $headers eq 'HTTP/')
418 0 0 if (not $headers =~ m[^HTTP/[\d\.]+ (\d+)] or &bytes::length($headers) > $MAX_HEADER_SIZE)
425 0 0 unless defined $line
427 0 0 unless $line =~ /\S/
428 0 0 if (++$nb_lines > $MAX_HEADER_LINES or &bytes::length($headers) > $MAX_HEADER_SIZE)
441 0 0 if $self->EOF
443 0 0 if ($self->_connected) { }
444 0 0 if ($self->[5] == $self->[4]) { }
0 0 elsif ($self->[4] > $self->[5] and $self->[4] - $self->[5] < $MAX_LENGTH_SKIP + $self->[21]) { }
452 0 0 unless $self->_read(my $buf, $to_skip) == $to_skip
463 0 0 $REQUEST_HEADERS && ref $REQUEST_HEADERS ? :
471 0 0 if defined $self->[4]
472 0 0 if $self->[20]
477 0 0 unless $self->[10]
479 0 0 if ($self->[17])
489 0 0 unless socket $self->[17], 2, 1, 6
496 0 0 if ($DEBUG_SLOW_CONNECTION and &File::HTTP::time() - $t >= 0.4)
497 0 0 $status ? :
499 0 0 if $status
500 0 0 unless $_ < 3 and $! =~ /Interrupted system call/i
505 0 0 if ($self->[1] eq 'HTTPS')
507 0 0 unless ($SSL_LOADED)
508 0 0 unless eval { do { require IO::Socket::SSL; 1 } }
511 0 0 if ($self->[12])
520 0 0 unless $code == 200
536 0 0 if (defined $self->[4]) { }
539 0 0 unless $code == 200
543 0 0 unless ($code_ok)
544 0 0 if ($code =~ /^3/ and $RESPONSE_HEADERS =~ /\015?\012Location: ([^\015\012]+)/i) { }
0 0 elsif (not $IGNORE_ERRORS) { }
545 0 0 unless $IGNORE_REDIRECTIONS
549 0 0 if ($code =~ /^200$|^416$/ and $self->[4] >= $self->[6]) { }
551 0 0 unless CORE::open $self->[17] = undef, '<', '/dev/null'
554 0 0 if $VERBOSE and $code == 200
559 0 0 if ($RESPONSE_HEADERS =~ /\015?\012Transfert-Encoding: +chunked/i and $self->[16] <= 1)
564 0 0 unless (defined $self->[6])
566 0 0 unless (defined $self->[6])
570 0 0 unless (defined $self->[15])
573 0 0 unless (defined $self->[14])
577 0 0 unless defined $self->[4]
589 0 0 if (not defined $off) { }
0 0 elsif ($off < 0) { }
597 0 0 unless $n
599 0 0 if ($self->[22] and $len and $n < $len)
603 0 0 unless $n_part
625 0 0 if ($self->[20])
634 0 0 $self->[7] == $Proto2Port{$self->[1]} ? :
641 0 0 $self->[1] eq 'HTTPS' ? :
642 0 0 if ($proxy)
645 0 0 unless ($self->[2] eq '127.0.0.1' or $self->[2] eq 'localhost' or $no_proxy and $self->[2] =~ /$no_proxy$/i)
653 0 0 if ($proxy =~ m[^https://])
654 0 0 if $VERBOSE
669 0 0 if ($@)
670 0 0 if ($@ =~ /^redirection: ([^\n]+)/) { }
0 0 elsif ($@ =~ /^error: (\d+)/) { }
0 0 elsif ($@ =~ /^HTTPS support/) { }
672 0 0 if (++$redirections > $MAX_REDIRECTIONS)
673 0 0 if $VERBOSE
677 0 0 if ($location =~ m[^https?://]i) { }
0 0 elsif ($location =~ m[^//]) { }
0 0 elsif ($location =~ m[^/]) { }
696 0 0 if $VERBOSE
704 0 0 if $VERBOSE
710 0 0 if (defined $self->[4] and not defined $self->[6])
721 0 0 unless $self->_initiate
723 0 0 unless $n
732 0 0 unless $state
734 0 0 unless ($n)
735 0 0 if defined $n
745 0 0 unless $self->_initiate
747 0 0 if (wantarray) { }
761 0 0 if defined $self->[6]
770 0 0 do { $whence == 2 } ? :
0 0 do { $whence == 1 } ? :
0 0 $whence ? :
803 0 0 unless $self->[17]
812 0 0 if $self->[25]
828 0 0 if $self->[13]
829 0 0 unless $self->[14]
830 0 0 unless $TIME_GM_CODE ||= do { if (eval { do { require Time::y2038; 1 } }) { \&Time::y2038::timegm; } elsif (eval { do { require Time::Local; 1 } }) { \&Time::Local::timegm; } }
831 0 0 if (eval { do { require Time::y2038; 1 } }) { }
0 0 elsif (eval { do { require Time::Local; 1 } }) { }
838 0 0 if ($self->[14] =~ /^(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat), (\d{1,2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d{2}):(\d{2}):(\d{2}) GMT$/)