Condition Coverage

blib/lib/Net/Inspect/L7/HTTP.pm
Criterion Covered Total %
condition 76 241 31.5


and 3 conditions

line !l l&&!r l&&r condition
222 2 5 0 $rqs->[0]{'state'} & 2 and not $self->{'upgrade'}
225 0 7 0 $self->{'gap_upto'}[0] >= 0 and $self->{'gap_upto'}[0] < $self->{'offset'}[0] + $len
261 16 59 0 @$rqs and $rqs->[0]{'state'} & 4
267 44 31 0 !@$rqs || $rqs->[0]{'state'} & 2 and $data =~ /\A[\r\n]+/g
285 0 0 0 @$rqs and not $rqs->[0]{'state'} & 2
355 16 1 0 $err and my $sub = $obj->can('fix_reqhdr')
359 17 0 0 @warn and %Net::Inspect::L7::HTTP::TRACE
381 16 0 0 %Net::Inspect::L7::HTTP::TRACE and $hdr{'junk'}
422 16 0 27 $data ne '' and not $rq->{'state'} & 2
560 0 2 0 $self->{'gap_upto'}[1] >= 0 and $self->{'gap_upto'}[1] < $self->{'offset'}[1] + $len
585 37 3 20 $data eq '' and not $eof
598 0 0 2 @$rqs and $rqs->[-1]{'state'} & 16
609 0 0 0 $data eq '' and $self->{'lastreqid'} > 1
669 13 1 0 $err and my $sub = $obj->can('fix_rsphdr')
677 13 0 0 %Net::Inspect::L7::HTTP::TRACE and $hdr{'junk'}
992 5 12 0 $version >= 1.1 and $kv{'expect'}
1001 5 8 4 $version >= 1.1 and grep {/(?:^|[ \t,])chunked(?:$|[ \t,;])/i;} @{[] unless $kv{'transfer-encoding'};}
1009 5 0 0 @$cl > 1 and do { my %x; @x{@$cl} = (); keys %x } > 1
1032 5 11 0 $version >= 1.1 and $kv{'upgrade'}
10 0 1 $version >= 1.1 and $kv{'upgrade'} and my(%upgrade) = map({lc $_, 1;} map({/($token)/g;} @{$kv{'upgrade'};}))
1074 1 1 0 $code == 100 and $request->{'expect'}{'100-continue'}
1087 0 0 1 $request->{'upgrade'} and grep {/\bUPGRADE\b/i;} @{[] unless $kv{'connection'};}
1104 13 0 1 $request->{'method'} eq 'CONNECT' and $code >= 200
13 0 1 $request->{'method'} eq 'CONNECT' and $code >= 200 and $code < 300
1113 4 7 2 $version >= 1.1 and grep {/(?:^|[ \t,])chunked(?:$|[ \t,;])/i;} @{[] unless $kv{'transfer-encoding'};}
1121 5 0 0 @$cl > 1 and do { my %x; @x{@$cl} = (); keys %x } > 1

or 2 conditions

line l !l condition
87 0 0 $self->{'replay'} ||= []
141 0 14 $obj->{'hdr_maxsz'}[0] ||= 65536
142 0 14 $obj->{'hdr_maxsz'}[1] ||= 16384
143 0 14 $obj->{'hdr_maxsz'}[2] ||= 2048
151 0 0 $eof // 0
728 1 0 $obj->can('in_data') && do { &weaken(my $wobj = $obj); sub { $wobj->in_data(@_); } } || sub { }
954 18 0 pos $hdr // 0
1028 0 0 $hdr->{'content_length'} ||= 0

or 3 conditions

line l !l&&r !l&&!r condition
90 0 0 0 $buf =~ /[^\n]\r?\n\r?\n/ or length $buf > 65536
222 0 0 7 not @$rqs or $rqs->[0]{'state'} & 2 and not $self->{'upgrade'}
229 0 0 2 $rqs->[0]{'rqclen'} or $rqs->[0]{'rqchunked'}
241 0 0 2 $eof || ($rqs->[0]{'state'} & 2 ? 1 : 0)
267 16 15 44 !@$rqs || $rqs->[0]{'state'} & 2
287 0 0 0 $rqs->[0]{'obj'} || $self
288 0 0 0 $rqs->[0]{'obj'} || $self
298 16 1 30 not @$rqs or $rqs->[0]{'state'} & 2
341 0 0 0 $obj || $self
364 1 0 0 $obj || $self
381 0 0 0 $obj || $self
389 1 0 8 $hdr{'method'} eq 'CONNECT' or $hdr{'upgrade'}
401 0 0 0 $obj || $self
407 0 0 0 $obj || $self
411 0 0 0 $obj || $self
464 0 0 0 $obj || $self
476 0 0 6 $data =~ /\n/ or length $data > 8192
494 0 0 0 $obj || $self
506 0 0 0 $data =~ /\n\r?\n/ or length $data > $self->{'hdr_maxsz'}[2]
518 0 0 0 $obj || $self
523 0 0 0 $obj || $self
566 0 0 2 $rq->{'rpclen'} or not defined $rq->{'rpclen'}
0 0 2 $rq->{'rpclen'} or not defined $rq->{'rpclen'} or $rq->{'rpchunked'}
615 0 0 0 $rq->{'obj'} || $self
617 0 0 0 $rq->{'obj'} || $self
620 0 0 0 $rq->{'obj'} || $self
622 0 0 0 $rq->{'obj'} || $self
627 0 0 0 $rq->{'obj'} || $self
628 0 0 0 $rq->{'obj'} || $self
657 0 0 0 $obj || $self
677 0 0 0 $obj || $self
771 1 0 0 $obj || $self
775 0 0 0 $obj || $self
781 0 0 0 $obj || $self
786 0 0 0 $obj || $self
790 0 0 0 $obj || $self
866 0 0 0 $obj || $self
878 0 0 4 $data =~ /\n/ or length $data > 8192
895 0 0 0 $obj || $self
907 0 0 0 $data =~ /\n\r?\n/ or length $data > $self->{'hdr_maxsz'}[2]
919 0 0 0 $obj || $self
952 18 0 18 pos $hdr // 0 != length $hdr
1018 0 0 8 $hdr->{'content_length'} or $hdr->{'chunked'}
1024 4 0 4 $hdr->{'chunked'} or defined $hdr->{'content_length'}
4 0 0 $hdr->{'chunked'} or defined $hdr->{'content_length'} or $external_length
1074 1 0 1 $code == 100 and $request->{'expect'}{'100-continue'} or $code == 102
1 1 0 $code == 100 and $request->{'expect'}{'100-continue'} or $code == 102 or $code == 101
1127 4 0 8 $CODE_WITHOUT_RPBODY{$code} or $METHODS_WITHOUT_RPBODY{$request->{'method'}}
1176 0 0 0 $Net::Inspect::L7::HTTP::DEBUG or defined wantarray