line |
l |
!l&&r |
!l&&!r |
condition |
15
|
67 |
0 |
34 |
$_[0]{'Web::Dispatch.original_env'} || $_[0] |
|
0 |
101 |
0 |
($_[0]{'Web::Dispatch.original_env'} || $_[0])->{'Web::Dispatch::ParamParser.unpacked_query'} ||= do {
_unpack_params($_[0]{'QUERY_STRING'})
} |
21
|
8 |
0 |
18 |
$_[0]{'Web::Dispatch.original_env'} || $_[0] |
|
13 |
13 |
0 |
($_[0]{'Web::Dispatch.original_env'} || $_[0])->{'Web::Dispatch::ParamParser.unpacked_body'} ||= do {
my $ct = lc($_[0]{'CONTENT_TYPE'} || '');
if (not $_[0]{'CONTENT_LENGTH'}) {
+{};
}
elsif (index($ct, 'application/x-www-form-urlencoded') >= 0) {
$_[0]{'psgi.input'}->read(my $buf, $_[0]{'CONTENT_LENGTH'});
_unpack_params($buf);
}
elsif (index($ct, 'multipart/form-data') >= 0) {
my $p = get_unpacked_body_object_from($_[0])->param;
+{map((ref $p->{$_} eq 'ARRAY' ? ($_, $p->{$_}) : ($_, [$p->{$_}])), keys %$p)};
}
else {
+{};
}
} |
46
|
0 |
0 |
12 |
$_[0]{'Web::Dispatch.original_env'} || $_[0] |
|
4 |
8 |
0 |
($_[0]{'Web::Dispatch.original_env'} || $_[0])->{'Web::Dispatch::ParamParser.unpacked_body_object'} ||= do {
if (not $_[0]{'CONTENT_LENGTH'}) {
[undef];
}
elsif (index(lc($_[0]{'CONTENT_TYPE'} || ''), 'multipart/form-data') == -1) {
[undef];
}
else {
[_make_http_body($_[0])];
}
} |
58
|
0 |
7 |
0 |
$_[0]{'Web::Dispatch::ParamParser.unpacked_uploads'} ||= do {
require Web::Dispatch::Upload;
require HTTP::Headers;
my($final, $reason) = ({}, 'field %s exists with value %s but body was not multipart/form-data');
if (my $body = get_unpacked_body_object_from($_[0])) {
my $u = $body->upload;
$reason = 'field %s exists with value %s but was not an upload';
foreach my $k (keys %$u) {
foreach my $v (ref $u->{$k} eq 'ARRAY' ? @{$$u{$k};} : $u->{$k}) {
push @{$final->{$k} ||= [];}, 'Web::Dispatch::Upload'->new(%{$v;}, 'headers', 'HTTP::Headers'->new($v->{'headers'}));
};
};
};
my $b = get_unpacked_body_from($_[0]);
foreach my $k (keys %$b) {
next if $final->{$k};
foreach my $v (@{$$b{$k};}) {
next unless $v;
push @{$final->{$k} ||= [];}, 'Web::Dispatch::NotAnUpload'->new('filename', $v, 'reason', sprintf($reason, $k, $v));
};
};
$final
} |