Branch Coverage

blib/lib/Mojo/Message/Request.pm
Criterion Covered Total %
branch 83 88 94.3


line true false branch
27 4 15 unless my $content = $self->content->clone
30 1 14 if $self->{'proxy'}
40 194 177 unless @_
43 6 338 if (ref $_ eq 'HASH') { }
55 25 1101 unless $$bufref =~ s/^\s*(.*?)\x0d?\x0a//u
58 1 1100 unless $1 =~ m[^(\S+)\s+(\S+)\s+HTTP/(\d\.\d)$]u
61 2 1098 if $1 eq "CONNECT"
62 7 1091 if $target =~ m[^[^:/?#]+:]u
68 1048 1050 $self->{'fix'} ? :
72 840 210 if ($headers->content_length // "") eq 0 and $self->method eq "GET"
76 1012 38 unless defined $headers->host
79 6 1044 if (my $info = $url->userinfo and not $headers->authorization)
84 1036 14 unless my $proxy = $self->proxy and $self->via_proxy
85 8 6 unless my $info = $proxy->userinfo
86 6 0 unless $headers->proxy_authorization
110 33 1532 ref $_[0] ? :
113 33 1532 if $env
116 1508 57 if (($self->{'state'} // '') ne 'cgi') { }
120 24 33 unless defined $env
125 408 1157 unless $self->is_finished
129 1105 52 unless $base->scheme
131 1056 101 if (not $base->host and my $host = $headers->host)
134 7 1150 if (my $basic = _basic($headers->authorization))
138 7 1150 if $basic
141 7 1150 if $self->reverse_proxy and ($headers->header("X-Forwarded-Proto") // "") eq "https"
150 14 2300 $_[0] && $_[0] =~ /Basic (.+)$/u ? :
164 278 61 unless $name =~ s/^HTTP_//iu
169 24 9 $value =~ s/:(\d+)$//u ? :
33 28 if $name eq "HOST"
173 15 18 if $env->{'CONTENT_TYPE'}
176 15 18 if $env->{'CONTENT_LENGTH'}
179 10 23 if $env->{'QUERY_STRING'}
182 33 0 if $env->{'REQUEST_METHOD'}
185 33 0 if ($env->{'SERVER_PROTOCOL'} // "") =~ m[^([^/]+)/([^/]+)$]u
188 1 32 if uc($env->{'HTTPS'} // "") eq "ON"
191 29 4 $env->{'PATH_INFO'} ? :
194 31 2 if (my $value = $env->{'SCRIPT_NAME'})
197 17 14 $value =~ m[/$]u ? :
211 1048 1046 if defined $self->{'start_buffer'}
216 25 1021 unless $path =~ m[^/]u
220 3 1043 if ($method eq 'CONNECT') { }
8 1037 elsif ($self->proxy and $self->via_proxy and $url->protocol ne 'https') { }
221 0 0 $url->protocol eq 'https' ? :
227 6 2 unless $self->is_handshake