Branch Coverage

lib/MojoX/HTTP/Async.pm
Criterion Covered Total %
branch 76 154 49.3


line true false branch
174 0 1 unless $opts{'host'}
179 0 1 $opts{'ssl'} ? :
195 0 8 if $self->{'debug'}
197 0 8 unless socket my $socket, 2, 1, $proto
198 0 8 unless connect $socket, $peer_addr
199 0 8 unless fcntl $socket, 4, 2049
203 0 8 if (exists $sol_socket_opts->{'so_keepalive'})
204 0 0 unless setsockopt $socket, 1, 9, 1
206 0 0 if ($sol_socket_opts->{'so_keepalive'})
210 0 0 if (exists $sol_tcp_opts->{'tcp_keepidle'})
211 0 0 unless setsockopt $socket, $SOL_TCP, 4, $sol_tcp_opts->{'tcp_keepidle'}
214 0 0 if (exists $sol_tcp_opts->{'tcp_keepintvl'})
215 0 0 unless setsockopt $socket, $SOL_TCP, 5, $sol_tcp_opts->{'tcp_keepintvl'}
218 0 0 if (exists $sol_tcp_opts->{'tcp_keepcnt'})
219 0 0 unless setsockopt $socket, $SOL_TCP, 6, $sol_tcp_opts->{'tcp_keepcnt'}
227 0 8 if ($self->{'ssl'})
229 0 0 unless $ssl_socket
238 8 0 if ($timeout > 0) { }
250 0 8 if ($error)
251 0 0 if $error ne "alarm\n"
262 0 6 unless $host_addr
275 6 0 if $slot
299 14311 0 unless ($message)
300 0 14311 $!{'EPIPE'} || $!{'ECONNRESET'} || $!{'ECONNREFUSED'} || $!{'ECONNABORTED'} ? :
304 0 18929 if (vec($error_handles, $slot_no, 1) != 0)
315 12 0 if not $_->{'is_busy'} and $_->{'socket'}
318 8 8 if (%socks2slots)
330 8 0 if ($nfound)
390 6 4 if (not $slot and $self->{'slots'} > scalar @{$self->{'_conns'}})
395 8 2 if ($slot)
397 8 0 if (not ref $request_or_uri or &blessed($request_or_uri) and $request_or_uri->isa("Mojo::URL"))
401 8 0 if ($request)
416 6 8 if ($force)
417 6 0 if $slot->{'socket'}
463 0 8 if $slot->{'is_busy'}
464 0 8 unless $request
465 0 8 unless $request->isa("Mojo::Message::Request")
467 0 8 $self->{'ssl'} ? :
472 0 8 if ($scheme and $required_scheme ne $scheme)
476 8 0 unless ($uri->scheme)
481 0 8 if (my $host = $uri->host)
482 0 0 if ($host ne $self->{'host'})
493 8 0 unless $h->host
494 8 0 unless $h->user_agent
498 8 0 $timeout > 0 ? :
502 0 8 if ($self->{'ssl'}) { }
515 0 8 if ($! or not defined $bytes)
522 0 8 if $sent_bytes < $msg_len
525 0 8 if ($sent_bytes < $msg_len)
532 0 8 if ($slot->{'exp_ts'} and &MojoX::HTTP::Async::time() > $slot->{'exp_ts'})
541 0 4 if $slot->{'tx'} or not $slot->{'is_busy'}
548 0 4 if ($! and not $!{'EAGAIN'} and not $!{'EWOULDBLOCK'}) { }
4 0 elsif ($response and $response->code) { }
554 4 0 if ($content->is_finished) { }
565 0 4 if $content->relaxed
568 0 0 if (not $slot->{'tx'} and ($slot->{'exp_ts'} and &MojoX::HTTP::Async::time() > $slot->{'exp_ts'}))
585 9693 0 unless $slot->{'is_busy'} or $slot->{'tx'}
588 14296 5 $not_empty ? :
615 10 0 $timeout ? :
618 0 13765 if $exp_ts and &MojoX::HTTP::Async::time() >= $exp_ts
619 10 13755 if $response = $self->next_response or not $self->not_empty
620 13755 0 unless $response
642 0 14298 if ($slot)
654 28607 5 if not $_->{'tx'} || $_->{'reconnect_is_required'}
657 14302 4 if (%socks2slots)
671 4 18911 if ($nfound and vec($read_handles, $sock_no, 1) == 1) { }
673 0 4 unless $slot->{'tx'}
674 0 4 unless $slot->{'is_busy'}
677 4 18907 if (not $slot->{'tx'} and ($slot->{'exp_ts'} and &MojoX::HTTP::Async::time() > $slot->{'exp_ts'}))
683 8 18907 if ($tx)
709 1 0 if (scalar @{$self->{'_conns'}})
726 0 2 if $self->{'debug'} and $is_outdated
728 2 0 if ($slot->{'reconnect_is_required'} or $is_outdated)
729 0 2 if $self->{'debug'}
762 0 2 if $slot->{'is_busy'}
763 2 0 if $slot->{'socket'}
765 0 1 if $in_use