Branch Coverage

blib/lib/POE/Filter/HTTPD/Chunked.pm
Criterion Covered Total %
branch 64 82 78.0


line true false branch
80 1 48 $args{'event_on_chunk'} ? :
92 0 0 unless ref $stream
98 0 0 $$self[3] ? :
120 76 187 if ($$self[5] eq 'parsing request line') { }
81 106 elsif ($$self[5] eq 'parsing header') { }
59 47 elsif ($$self[5] eq 'parsing body') { }
7 40 elsif ($$self[5] eq 'parsing trailer') { }
40 0 elsif ($$self[5] eq 'parsing complete') { }
141 72 191 if ($to_return and not scalar @{$to_return;})
142 2 70 if ($$self[6])
152 2 0 if ($current_chunk_size > $initial_chunk_size)
172 124 139 if $to_return
195 2 0 if $status_message ne $message
196 2 0 if length $message
274 61 40 if ($clean_buffer)
318 23 53 unless ($$self[0] =~ /$CRLF/s)
323 47 6 if ($$self[0] =~ s[^\s*(\w+)[ \t]+(\S+)(?:[ \t]+(HTTP/\d+\.\d+))?$CRLF][]) { }
6 0 elsif ($$self[0] =~ /^.*?$CRLF/s) { }
366 47 34 if ($$self[0] =~ s/^$CRLF//) { }
372 10 37 if (my $te_header = $$self[4]->header('transfer-encoding'))
373 10 0 if ($te_header =~ s/$CHUNKED_REGEX//)
379 1 9 if ($te_header =~ /\S/) { }
396 45 2 if (defined $requirement) { }
399 9 36 $$self[4]->header('content-length') ? :
402 0 45 if ($requirement == 1 and $has_body) { }
0 45 elsif ($requirement == 3 and not $has_body) { }
420 0 45 if ($error)
442 1 58 if (defined $content_length and $content_length and $is_chunked) { }
1 104 elsif ($is_chunked and $$self[4]->protocol eq 'HTTP/1.0') { }
462 20 37 if ($content_length) { }
10 27 elsif ($is_chunked) { }
468 7 13 if (length $$self[0] >= $content_length) { }
495 65 1 if ($chunk_hex =~ /^([0-9a-f]+)(;.*)?$/i) { }
509 7 58 if ($chunk_size == 0) { }
56 2 elsif ($$self[0] =~ s/^(?:.{$line_size})(.{$chunk_size})$CRLF//s) { }
512 7 0 if ($$self[0] =~ s/(?:.{$line_size})//s)
528 0 0 unless $processed_data
546 5 2 if ($$self[0] =~ s/^$CRLF//) { }
2 0 elsif ($$self[0] =~ s/^(.*?($CRLF)\2)//s) { }
559 1 2 if ($header =~ /^(content-length|transfer-encoding|trailer)$/i)
575 6 0 if ($done)