| line |
true |
false |
branch |
|
18
|
2 |
22 |
if (my $len = $self->headers->content_length) |
|
32
|
31 |
18 |
if defined($boundary = $self->boundary) |
|
44
|
17 |
1 |
if ($headers->content_type // "") =~ m[^(.*multipart/[^;]+)(.*)$]u |
|
52
|
0 |
2 |
unless my $clone = $self->SUPER::clone |
|
60
|
0 |
184 |
if $self->is_dynamic |
|
66
|
22 |
162 |
if $len > $offset |
|
70
|
69 |
93 |
if $self->{'offset'} and $offset > $self->{'offset'} |
|
79
|
46 |
146 |
if $len + $header_len > $offset |
|
84
|
45 |
101 |
if $len + $content_len > $offset |
|
88
|
47 |
54 |
if ($#$parts == $i) |
|
92
|
49 |
52 |
if $len + $boundary_len > $offset |
|
112
|
205 |
99 |
if ($pos < 0) |
|
114
|
69 |
136 |
unless $len > 0 |
|
132
|
100 |
44 |
if (index($self->{'multipart'}, "\r\n--$boundary\r\n") == 0) |
|
144
|
38 |
6 |
if (index($self->{'multipart'}, $end) == 0) |
|
156
|
17 |
40 |
if (my $pos = index($self->{'multipart'}, "--$boundary")) < 0 |
|
173
|
17 |
40 |
unless $self->_parse_multipart_preamble($boundary) |
|
|
57 |
448 |
if ($self->{'multi_state'} eq 'multipart_preamble') { } |
|
|
144 |
304 |
elsif ($self->{'multi_state'} eq 'multipart_boundary') { } |
|
|
304 |
0 |
elsif ($self->{'multi_state'} eq 'multipart_body') { } |
|
176
|
44 |
100 |
unless $self->_parse_multipart_boundary($boundary) |
|
179
|
205 |
99 |
unless $self->_parse_multipart_body($boundary) |
|
183
|
1 |
267 |
if length($self->{'multipart'} // "") > $self->max_buffer_size |