Completed
Push — master ( e221c0...5a5b2e )
by Matze
05:22
created

Gentime::processResponse()   B

Complexity

Conditions 2
Paths 2

Size

Total Lines 28
Code Lines 18

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 17
CRAP Score 2

Importance

Changes 2
Bugs 0 Features 0
Metric Value
c 2
b 0
f 0
dl 0
loc 28
ccs 17
cts 17
cp 1
rs 8.8571
cc 2
eloc 18
nc 2
nop 2
crap 2
1
<?php
2
3
namespace BrainExe\Core\Middleware;
4
5
use BrainExe\Core\Annotations\Middleware;
6
use BrainExe\Core\Authentication\UserVO;
7
use BrainExe\Core\Traits\LoggerTrait;
8
use Symfony\Component\HttpFoundation\Request;
9
use Symfony\Component\HttpFoundation\Response;
10
11
/**
12
 * @Middleware("Middleware.Gentime")
13
 */
14
class Gentime extends AbstractMiddleware
15
{
16
17
    use LoggerTrait;
18
19
    /**
20
     * {@inheritdoc}
21
     */
22 2
    public function processResponse(Request $request, Response $response)
23
    {
24 2
        $startTime = $request->server->get('REQUEST_TIME_FLOAT');
25 2
        $user      = $request->attributes->get('user');
26
27 2
        if ($user) {
28
            /** @var UserVO $user */
29 1
            $username = $user->getUsername();
30
        } else {
31 1
            $username = '-anonymous-';
32
        }
33
34 2
        $diff = microtime(true) - $startTime;
35 2
        $this->info(
36
            sprintf(
37 2
                '%0.2fms - %s',
38 2
                $diff * 1000,
39 2
                $request->getRequestUri()
40
            ),
41
            [
42 2
                'channel'  => 'gentime',
43 2
                'time'     => round($diff * 1000, 2),
44 2
                'route'    => $request->attributes->get('_route'),
45 2
                'userName' => $username,
46 2
                'userId'   => $request->attributes->get('user_id')
47
            ]
48
        );
49 2
    }
50
}
51