Branch Coverage

blib/lib/IO/Lambda/HTTP.pm
Criterion Covered Total %
branch 45 168 26.7


line true false branch
31 0 4 if defined $options{'timeout'}
32 0 4 if defined $options{'deadline'}
33 0 4 defined $options{'max_redirect'} ? :
41 0 4 if ($self->{'keep_alive'})
42 0 0 unless ($self->{'conn_cache'})
46 0 0 unless ($req->protocol)
54 0 4 if $self->{'async_dns'}
58 4 0 unless defined $h->header($k)
84 0 8 if ($auth)
95 0 8 unless ref $response
97 4 4 if ($response->code =~ /^3/) { }
0 4 elsif (not $was_failed_auth and $response->code eq '401' and defined $self->{'username'} and defined $self->{'password'}) { }
100 0 4 if ++$was_redirected > $self->{'max_redirect'}
103 0 4 unless defined $location
107 0 4 if $DEBUG
121 0 0 unless $r
125 0 0 $method ? :
148 0 0 ref $self->{'preferred_auth'} ? :
0 0 defined $self->{'preferred_auth'} ? :
154 0 0 unless not exists $preferred{$_}
159 0 0 if ($auth eq 'Basic')
161 0 0 if $DEBUG
167 0 0 if $@ and not $@ =~ m[^Can't locate IO/Lambda/HTTP/Authen/$auth]
169 0 0 if $@
173 0 0 if $DEBUG and $lambda
174 0 0 if $lambda
178 0 0 if length $compilation_errors
191 0 8 if (not defined $scheme) { }
0 8 elsif ($scheme eq 'https') { }
0 8 elsif ($scheme ne 'http') { }
194 0 0 unless ($got_https)
196 0 0 if $@
201 0 0 if $DEBUG
238 8 0 $sock ? :
248 0 8 if (defined $self->{'proxy'}) { }
249 0 0 if (ref $self->{'proxy'}) { }
252 0 0 if ref $self->{'proxy'} ne 'ARRAY' or not @{$self->{'proxy'};}
264 0 8 if defined $err
268 0 8 if ($self->{'async_dns'} and not $host =~ /^(\d{1,3}\.){3}(\d{1,3})$/)
274 0 0 if $DEBUG
277 0 0 unless $host =~ /^\d/
278 0 0 if $DEBUG
284 0 8 if ($req->header('Connection') || '') =~ /^close/i
291 0 8 if ($cc)
293 0 0 if ($sock)
295 0 0 $err ? :
296 0 0 $err ? :
0 0 if $DEBUG
302 0 8 if $DEBUG and not $sock
303 8 0 unless $sock
304 0 8 unless $sock
308 0 8 if @_
313 0 8 if $self->{'writer'}
321 0 8 if ($cc and not $self->{'close_connection'})
323 0 0 if $DEBUG and not $err
324 0 0 unless $err
328 0 0 if $DEBUG and $self->{'close_connection'}
347 0 8 if ($DEBUG)
349 0 0 if $DEBUG > 1
353 0 8 if ($DEBUG)
355 0 0 $error ? :
0 0 if $DEBUG > 1
357 0 8 defined $error ? :
374 0 8 if (not $self->{'proxy'} and ($req->protocol || '') =~ m[http/1.\d]i)
378 0 0 unless $fullpath =~ m[^/]
382 0 8 if defined $save_uri
392 0 8 if $error
397 0 8 unless shift()
403 0 8 unless (defined $line)
406 0 0 if $error ne 'eof'
411 0 8 unless $line =~ m[^HTTP/[\.\d]+\s+\d{3}\s+]i
418 0 8 unless defined $line
426 0 8 if $method eq 'HEAD'
439 4 4 if defined $l and $l =~ /^(\d+)\s*$/
445 0 4 if $self->{'chunked'} = $te =~ /^chunked\s*$/i
451 4 0 if $headers->protocol =~ m[^HTTP/(\d+\.\d+)] and $1 < 1.1
457 0 0 if $self->{'close_connection'}
472 0 0 unless defined $line
478 0 0 unless $line =~ /^[\da-f]+$/
481 0 0 if $DEBUG
482 0 0 unless $size
491 0 0 unless (shift())
499 0 0 if $DEBUG
511 8 0 if $$buf_ptr =~ /^(HTTP\S+)\s+(\d{3})\s+/i