Branch Coverage

blib/lib/PAGI/Response.pm
Criterion Covered Total %
branch 119 130 91.5


line true false branch
1023 1 180 if defined $scope and ref $scope ne "HASH"
1032 137 60 if @_ == 1
1033 2 57 unless $code =~ /^\d+$/ and $code >= 100 and $code <= 599
1041 3 7 if exists $self->{'_status'}
1047 0 66 unless defined $name
1048 2 64 if @_ == 2
1057 0 1 unless defined $name
1069 0 1 unless defined $name
1076 82 39 if @_ == 1
1077 38 1 if (defined $type) { }
1090 2 1 exists $self->{'_status'} ? :
1098 10 2 exists $self->{'_body'} || exists $self->{'_stream'} || exists $self->{'_file'} ? :
1106 81 38 if defined $default_type
1119 0 79 unless $self->has_content_type
1121 44 35 if $ct =~ /charset=/i
1125 29 6 if lc $type eq "application/json" or $type =~ /\+json\z/i
1133 108 26 if (defined $extra_len)
1139 134 1 if $k ne "content-length"
1148 0 129 unless ref $send eq "CODE"
1150 15 114 if ($self->{'_stream'})
1158 2 13 unless $writer->is_closed
1162 6 108 if ($self->{'_file'})
1174 3 3 if exists $fd->{'offset'}
1175 1 5 if exists $fd->{'length'}
1201 7 0 $self->{'scope'} ? :
1202 0 7 unless $conn
1203 1 6 unless $conn->can("response_started")
1205 3 3 $conn->response_started ? :
1213 134 11 ref $proto ? :
1230 1 8 unless $_RESPONSE_OPTS{$k}
1232 5 97 if defined $opts{'status'}
1233 1 101 if defined $opts{'content_type'}
1234 2 100 if (my $h = $opts{'headers'})
1235 1 1 if @$h % 2
1259 2 1 unless $self->has_content_type
1314 2 3 if defined $opts{'max_age'}
1315 0 5 if defined $opts{'expires'}
1316 1 4 if defined $opts{'path'}
1317 1 4 if defined $opts{'domain'}
1318 1 4 if $opts{'secure'}
1319 1 4 if $opts{'httponly'}
1320 1 4 if defined $opts{'samesite'}
1349 1 5 if ($origin eq '*' and $credentials) { }
1360 2 4 if ($credentials)
1364 1 5 if (@$expose)
1369 1 5 if ($preflight)
1387 0 6 unless ref $send eq "CODE"
1391 1 5 if $self->{'_writer_started'}
1435 1 10 unless -f $path
1436 0 10 unless -r $path
1446 1 9 if $offset < 0
1447 1 8 if $offset > $file_size
1451 3 5 if (defined $length) { }
1452 1 2 if $length < 0
1453 1 1 if $length > $max_length
1466 1 6 if ($opts{'inline'}) { }
1 5 elsif ($opts{'filename'}) { }
1474 2 5 if $disposition
1479 3 4 if $offset > 0
1480 1 6 if $length < $max_length
1502 1 19 if $opts{'on_close'}
1508 2 15 if $self->{'closed'}
1519 0 17 if $self->{'closed'}
1529 2 12 if (builtin::blessed($r) and $r->isa("Future"))
1533 2 13 if ($@)