Branch Coverage

blib/lib/MCP/Server/Transport/HTTP.pm
Criterion Covered Total %
branch 70 82 85.3


line true false branch
21 11 7 $self->streaming ? :
24 28 108 if (my $auth = $self->auth)
25 2 26 unless my $info = &$auth($c)
30 107 27 if $method eq "POST"
31 12 15 if $method eq "GET" and $self->streaming
32 13 2 if $method eq "DELETE" and $self->streaming
37 0 4 unless my $session = $self->sessions->{$session_id}
38 1 3 unless my $stream = $session->stream
44 1 2 unless $self->streaming
47 0 1 unless my $stream = $session->stream
55 6 0 if $self->metadata_url
56 4 2 if $extra{'error'}
57 4 2 if defined $extra{'scope'}
58 6 0 @parts ? :
71 1 12 unless my $session_id = $self->_extract_session_id($c)
74 2 10 unless my $session = delete $self->sessions->{$session_id}
76 6 4 if (my $stream = $session->stream)
81 1 11 unless my $session_id = $self->_extract_session_id($c)
84 3 8 unless my $session = $self->sessions->{$session_id}
85 1 7 if $session->stream
93 1 6 if (my $interval = $self->heartbeat)
100 1 6 if $heartbeat_id
101 0 7 unless $self_weak
102 6 1 unless my $session = $self_weak->sessions->{$session_id}
103 0 1 unless ($session->stream // 0) == $c
112 11 7 if ($self->streaming)
123 0 107 unless my $data = $c->req->json
124 0 107 unless ref $data eq "HASH"
126 18 89 if ($data->{'method'} and $data->{'method'} eq 'initialize') { }
131 0 89 unless $session_id
132 18 71 if ($self->streaming)
134 2 16 unless my $session = $self->sessions->{$session_id}
145 17 70 unless defined(my $result = $self->_handle($data, $context))
148 4 66 if (my $needed = $context->insufficient_scope)
155 60 6 unless builtin::blessed($result) and $result->isa("Mojo::Promise")
164 79 26 unless $self->auth
169 10 1 if $self->{'_sweep_id'}
170 0 1 unless my $interval = $self->session_timeout
172 7 0 if $self_weak
176 0 7 unless my $timeout = $self->session_timeout
181 1 8 if not $session->stream and $session->last_used < $cutoff