Branch Coverage

blib/lib/App/HTTP_Proxy_IMP/IMP.pm
Criterion Covered Total %
branch 6 316 1.9


line true false branch
46 0 2 unless delete $args{'mod'}
47 2 0 if (ref $module)
54 0 0 unless my($mod, $args) = $module =~ /^([a-z][\w:]*)(?:=(.*))?$/i
56 0 0 unless eval "require $mod"
58 0 0 unless my $factory = $mod->new_factory(%args)
60 0 0 unless $factory = $factory->get_interface($interface) && $factory->set_interface($interface)
67 0 2 unless @factory
68 0 2 if (@factory > 1)
71 0 0 unless my $cascade = 'Net::IMP::Cascade'->new_factory('parts', [@factory])
73 0 0 unless $cascade = $cascade->set_interface($interface)
90 2 2 unless $_ ~~ [4113, 4112]
148 0 0 unless ($METHODS_WITHOUT_RQBODY{$xhdr->{'method'}})
149 0 0 if (not defined $clen and $xhdr->{'method'} ne 'CONNECT')
158 0 0 if defined $size
160 0 0 if (my $pass = $self->{'pass'}[0])
161 0 0 if ($pass == -1 or $pass >= $hlen + $clen)
166 0 0 if (my $prepass = $self->{'prepass'}[0])
167 0 0 if ($prepass == -1 or $prepass >= $hlen + $clen)
172 0 0 if ($self->{'ibuf'}[0][0][0] >= $hlen + $clen)
183 0 0 unless (defined $size)
196 0 0 if $App::HTTP_Proxy_IMP::IMP::DEBUG
198 0 0 unless $$hdr =~ s/^(Content-length:[ \t]*)(\d+)/$1$size/im
220 0 0 if ($changed)
241 0 0 $bad ? :
0 0 $internal ? :
255 0 0 $METHODS_WITHOUT_RQBODY{$xhdr->{'method'}} ? :
267 0 0 unless my $sub = $self->{'fixup_header'}[0]
269 0 0 if $ok
282 0 0 if $data eq ''
291 0 0 if $data ne '' or $eof
303 0 0 if (my $ce = $xhdr->{'fields'}{'content-encoding'})
308 0 0 if %ce
331 0 0 if ($changed)
344 0 0 $bad ? :
361 0 0 if ($CODE_WITHOUT_RPBODY{$xhdr->{'code'}} or $xhdr->{'code'} < 200)
368 0 0 if ($METHODS_WITHOUT_RPBODY{$self->{'method'}})
385 0 0 if (my $pass = $self->{'pass'}[1])
386 0 0 if ($pass == -1 or $pass >= $rpsize)
392 0 0 if (my $prepass = $self->{'prepass'}[1])
393 0 0 if ($prepass == -1 or $prepass >= $rpsize)
399 0 0 if ($self->{'ibuf'}[1][0][0] >= $rpsize)
419 0 0 if ($self->{'decode'}{'-5242892'}[1])
420 0 0 if ($nochange) { }
427 0 0 if ($pass and defined $orig_clen and $pass == -1 || $pass >= $orig_clen + $orig_hlen)
442 0 0 if (defined $clen)
460 0 0 if $data eq ''
469 0 0 if $data ne '' or $eof
479 0 0 if $App::HTTP_Proxy_IMP::IMP::DEBUG
508 0 0 if $data eq ''
518 0 0 if $data ne '' or $eof
534 0 0 unless my $request = $self->{'request'}
539 0 0 if ($rtype == 4352)
541 0 0 if $App::HTTP_Proxy_IMP::IMP::DEBUG
546 0 0 if ($rtype == 1)
548 0 0 if $App::HTTP_Proxy_IMP::IMP::DEBUG
549 0 0 if (my $sub = $self->{'logsub'})
556 0 0 if ($rtype == 4)
558 0 0 if $App::HTTP_Proxy_IMP::IMP::DEBUG
564 0 0 if ($rtype ~~ [4097, 4099])
566 0 0 if $App::HTTP_Proxy_IMP::IMP::DEBUG
568 0 0 if ($rtype == 4097) { }
570 0 0 if ($self->{'pass'}[$dir] == -1) { }
0 0 elsif ($offset == -1 or $offset > $self->{'ibuf'}[$dir][0][0]) { }
585 0 0 if ($self->{'pass'}[$dir] == -1 or $self->{'prepass'}[$dir] == -1) { }
0 0 elsif ($offset == -1 or $offset > $self->{'ibuf'}[$dir][0][0]) { }
588 0 0 if $App::HTTP_Proxy_IMP::IMP::DEBUG
594 0 0 if $App::HTTP_Proxy_IMP::IMP::DEBUG
597 0 0 if $App::HTTP_Proxy_IMP::IMP::DEBUG
612 0 0 unless defined $ib0->[2]
614 0 0 if ($offset == -1) { }
620 0 0 if ($pass > $len0) { }
0 0 elsif ($pass == $len0) { }
0 0 elsif ($ib0->[2] < 0) { }
629 0 0 if (@$ibuf) { }
0 0 elsif ($ib0->[2] < 0) { }
660 0 0 if (@$ibuf) { }
675 0 0 if ($rtype == 4113)
677 0 0 if $App::HTTP_Proxy_IMP::IMP::DEBUG
680 0 0 unless @$ibuf
686 0 0 if $self->{'pass'}[$dir] or $self->{'prepass'}[$dir]
689 0 0 if $offset == -1
699 0 0 if ($rlen < 0) { }
0 0 elsif ($rlen > $len0) { }
0 0 elsif ($rlen < $len0) { }
702 0 0 if @$ibuf > 1 or $ib0->[2] > 0
708 0 0 if $ib0->[2] > 0
712 0 0 if $rlen
716 0 0 if (@$ibuf > 1) { }
0 0 elsif ($ib0->[2] < 0) { }
738 0 0 if ($rtype ~~ [16, 17])
741 0 0 if ($relay and my $fo = $relay->fd($dir))
742 0 0 $rtype == 16 ? :
747 0 0 if ($rtype == 4354)
755 0 0 unless %fwd
779 0 0 if (my $decode = $self->{'decode'}{$type + 0}[$dir])
781 0 0 unless (ref $decode)
791 0 0 if $offset
793 0 0 if $self->{'pass_encoded'}[$dir]
795 0 0 unless defined($data = &$decode($data))
798 0 0 if ($offset)
799 0 0 if $offset < $eobuf
800 0 0 if $offset == $eobuf
807 0 0 if ($pass)
810 0 0 if $ibuf->[0][2]
812 0 0 if ($pass == -1)
815 0 0 if $App::HTTP_Proxy_IMP::IMP::DEBUG
820 0 0 if ($canpass <= 0) { }
0 0 elsif ($canpass >= $dlen) { }
0 0 elsif ($type < 0) { }
826 0 0 if ($data eq '')
829 0 0 if $App::HTTP_Proxy_IMP::IMP::DEBUG
833 0 0 if $App::HTTP_Proxy_IMP::IMP::DEBUG
838 0 0 if $self->{'pass_encoded'}[$dir]
844 0 0 if $App::HTTP_Proxy_IMP::IMP::DEBUG
852 0 0 if ($prepass)
855 0 0 if $ibuf->[0][2]
856 0 0 if ($prepass == -1)
859 0 0 if $App::HTTP_Proxy_IMP::IMP::DEBUG
865 0 0 if ($canprepass <= 0) { }
0 0 elsif ($canprepass >= $dlen) { }
0 0 elsif ($type < 0) { }
873 0 0 if $App::HTTP_Proxy_IMP::IMP::DEBUG
878 0 0 if $self->{'pass_encoded'}[$dir]
884 0 0 if $App::HTTP_Proxy_IMP::IMP::DEBUG
893 0 0 if ($offset and $offset > $eobuf)
894 0 0 if defined $ibuf->[0][2]
897 0 0 if (not defined $ibuf->[-1][2]) { }
0 0 elsif ($type < 0 and $type == $ibuf->[-1][2] and $callback == $ibuf->[-1][3]) { }
910 0 0 if $App::HTTP_Proxy_IMP::IMP::DEBUG
914 0 0 if $App::HTTP_Proxy_IMP::IMP::DEBUG
936 0 0 if ($3 eq '') { }
947 0 0 if (pos $hdr // 0 != length $hdr)
950 0 0 if $hdr =~ s/\A([^\n]*)\n//
961 0 0 unless $typ ~~ ['gzip', 'deflate']
971 0 0 if defined $inflate
975 0 0 $data eq '' ? :
976 0 0 if ($typ eq 'gzip') { }
979 0 0 if length $buf < $hdr_len
981 0 0 if ($magic != 35615 or $method != Z_DEFLATED() or $flags & 224)
982 0 0 if $App::HTTP_Proxy_IMP::IMP::DEBUG
986 0 0 if ($flags & 4)
988 0 0 if length $buf < ($hdr_len += 2)
990 0 0 if length $buf < $hdr_len
992 0 0 if ($flags & 8)
995 0 0 if $o == -1
998 0 0 if ($flags & 16)
1001 0 0 if $o == -1
1004 0 0 if ($flags & 2)
1006 0 0 if length $buf < ($hdr_len += 2)
1023 0 0 if length $buf < 2
1025 0 0 if (($magic & 15) == 8 and $magic >> 4 <= 7 and unpack('n', substr($buf, 0, 2)) % 31 == 0) { }
1038 0 0 unless $inflate = 'Compress::Raw::Zlib::Inflate'->new(-'WindowBits', $wb, -'AppendOutput', 1, -'ConsumeInput', 1)
1044 0 0 if $buf eq ''
1048 0 0 unless ($inflate)
1060 0 0 if ($stat == Z_STREAM_END()) { }
0 0 elsif ($stat != Z_OK()) { }
1061 0 0 if ($gzip_csum and length $buf >= $gzip_csum)
1067 0 0 if $App::HTTP_Proxy_IMP::IMP::DEBUG