blib/lib/Net/Inspect/L7/HTTP.pm | |||
---|---|---|---|
Criterion | Covered | Total | % |
condition | 78 | 238 | 32.7 |
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') |
378 | 16 | 0 | 0 | %Net::Inspect::L7::HTTP::TRACE and $hdr{'junk'} |
419 | 16 | 0 | 27 | $data ne '' and not $rq->{'state'} & 2 |
557 | 0 | 2 | 0 | $self->{'gap_upto'}[1] >= 0 and $self->{'gap_upto'}[1] < $self->{'offset'}[1] + $len |
582 | 37 | 3 | 20 | $data eq '' and not $eof |
595 | 0 | 0 | 2 | @$rqs and $rqs->[-1]{'state'} & 16 |
606 | 0 | 0 | 0 | $data eq '' and $self->{'lastreqid'} > 1 |
666 | 13 | 1 | 0 | $err and my $sub = $obj->can('fix_rsphdr') |
674 | 13 | 0 | 0 | %Net::Inspect::L7::HTTP::TRACE and $hdr{'junk'} |
989 | 5 | 11 | 1 | $version >= 1.1 and $kv{'expect'} |
998 | 5 | 8 | 4 | $version >= 1.1 and grep {/(?:^|[ \t,])chunked(?:$|[ \t,;])/i;} @{[] unless $kv{'transfer-encoding'};} |
1006 | 5 | 0 | 0 | @$cl > 1 and do { my %x; @x{@$cl} = (); keys %x } > 1 |
1029 | 5 | 10 | 1 | $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'};})) | |
1071 | 1 | 0 | 1 | $code == 100 and $request->{'expect'}{'100-continue'} |
1084 | 0 | 0 | 1 | $request->{'upgrade'} and grep {/\bUPGRADE\b/i;} @{[] unless $kv{'connection'};} |
1101 | 13 | 0 | 1 | $request->{'method'} eq 'CONNECT' and $code >= 200 |
13 | 0 | 1 | $request->{'method'} eq 'CONNECT' and $code >= 200 and $code < 300 | |
1110 | 4 | 7 | 2 | $version >= 1.1 and grep {/(?:^|[ \t,])chunked(?:$|[ \t,;])/i;} @{[] unless $kv{'transfer-encoding'};} |
1118 | 5 | 0 | 0 | @$cl > 1 and do { my %x; @x{@$cl} = (); keys %x } > 1 |
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 |
725 | 1 | 0 | $obj->can('in_data') && do { &weaken(my $wobj = $obj); sub { $wobj->in_data(@_); } } || sub { } |
951 | 18 | 0 | pos $hdr // 0 |
1025 | 0 | 0 | $hdr->{'content_length'} ||= 0 |
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 | 2 | 0 | $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 |
361 | 1 | 0 | 0 | $obj || $self |
378 | 0 | 0 | 0 | $obj || $self |
386 | 1 | 1 | 7 | $hdr{'method'} eq 'CONNECT' or $hdr{'upgrade'} |
398 | 0 | 0 | 0 | $obj || $self |
404 | 0 | 0 | 0 | $obj || $self |
408 | 0 | 0 | 0 | $obj || $self |
461 | 0 | 0 | 0 | $obj || $self |
473 | 0 | 0 | 6 | $data =~ /\n/ or length $data > 8192 |
491 | 0 | 0 | 0 | $obj || $self |
503 | 0 | 0 | 0 | $data =~ /\n\r?\n/ or length $data > $self->{'hdr_maxsz'}[2] |
515 | 0 | 0 | 0 | $obj || $self |
520 | 0 | 0 | 0 | $obj || $self |
563 | 0 | 0 | 2 | $rq->{'rpclen'} or not defined $rq->{'rpclen'} |
0 | 0 | 2 | $rq->{'rpclen'} or not defined $rq->{'rpclen'} or $rq->{'rpchunked'} | |
612 | 0 | 0 | 0 | $rq->{'obj'} || $self |
614 | 0 | 0 | 0 | $rq->{'obj'} || $self |
617 | 0 | 0 | 0 | $rq->{'obj'} || $self |
619 | 0 | 0 | 0 | $rq->{'obj'} || $self |
624 | 0 | 0 | 0 | $rq->{'obj'} || $self |
625 | 0 | 0 | 0 | $rq->{'obj'} || $self |
654 | 0 | 0 | 0 | $obj || $self |
674 | 0 | 0 | 0 | $obj || $self |
768 | 1 | 0 | 0 | $obj || $self |
772 | 0 | 0 | 0 | $obj || $self |
778 | 0 | 0 | 0 | $obj || $self |
783 | 0 | 0 | 0 | $obj || $self |
787 | 0 | 0 | 0 | $obj || $self |
863 | 0 | 0 | 0 | $obj || $self |
875 | 0 | 0 | 4 | $data =~ /\n/ or length $data > 8192 |
892 | 0 | 0 | 0 | $obj || $self |
904 | 0 | 0 | 0 | $data =~ /\n\r?\n/ or length $data > $self->{'hdr_maxsz'}[2] |
916 | 0 | 0 | 0 | $obj || $self |
949 | 18 | 0 | 18 | pos $hdr // 0 != length $hdr |
1015 | 0 | 0 | 8 | $hdr->{'content_length'} or $hdr->{'chunked'} |
1021 | 4 | 4 | 0 | $hdr->{'chunked'} or defined $hdr->{'content_length'} |
4 | 0 | 0 | $hdr->{'chunked'} or defined $hdr->{'content_length'} or $external_length | |
1071 | 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 | |
1124 | 4 | 0 | 8 | $CODE_WITHOUT_RPBODY{$code} or $METHODS_WITHOUT_RPBODY{$request->{'method'}} |
1173 | 0 | 0 | 0 | $Net::Inspect::L7::HTTP::DEBUG or defined wantarray |