Auth   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 11
c 0
b 0
f 0
dl 0
loc 20
ccs 11
cts 11
cp 1
rs 10
wmc 3

1 Method

Rating   Name   Duplication   Size   Complexity  
A __invoke() 0 18 3
1
<?php
2
3
declare(strict_types=1);
4
5
namespace App\Middleware;
6
7
use Psr\Http\Message\ResponseInterface;
8
use Slim\Http\Request;
9
use Slim\Http\Response;
10
use Slim\Route;
11
12
final class Auth extends Base
13
{
14 34
    public function __invoke(
15
        Request $request,
16
        Response $response,
17
        Route $next
18
    ): ResponseInterface {
19 34
        $jwtHeader = $request->getHeaderLine('Authorization');
20 34
        if (!$jwtHeader) {
21 1
            throw new \App\Exception\AuthException('JWT Token required.', 400);
22
        }
23 33
        $jwt = explode('Bearer ', $jwtHeader);
24 33
        if (!isset($jwt[1])) {
25 1
            throw new \App\Exception\AuthException('JWT Token invalid.', 400);
26
        }
27 32
        $decoded = $this->checkToken($jwt[1]);
28 31
        $object = (array) $request->getParsedBody();
29 31
        $object['decoded'] = $decoded;
30
31 31
        return $next($request->withParsedBody($object), $response);
32
    }
33
}
34