AuthenticationMethodInterfaceProxy   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 8
c 1
b 0
f 0
dl 0
loc 20
ccs 0
cts 9
cp 0
rs 10
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A authenticate() 0 9 1
A __construct() 0 2 1
A challenge() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Yiisoft\Auth\Debug;
6
7
use Psr\Http\Message\ResponseInterface;
8
use Psr\Http\Message\ServerRequestInterface;
9
use Yiisoft\Auth\AuthenticationMethodInterface;
10
use Yiisoft\Auth\IdentityInterface;
11
12
final class AuthenticationMethodInterfaceProxy implements AuthenticationMethodInterface
13
{
14
    public function __construct(private AuthenticationMethodInterface $decorated, private IdentityCollector $collector)
15
    {
16
    }
17
18
    public function authenticate(ServerRequestInterface $request): ?IdentityInterface
19
    {
20
        $identity = null;
0 ignored issues
show
Unused Code introduced by
The assignment to $identity is dead and can be removed.
Loading history...
21
        try {
22
            $identity = $this->decorated->authenticate($request);
23
        } finally {
24
            $this->collector->collect($identity);
25
        }
26
        return $identity;
27
    }
28
29
    public function challenge(ResponseInterface $response): ResponseInterface
30
    {
31
        return $this->decorated->challenge($response);
32
    }
33
}
34