Completed
Push — master ( 298ac7...0024da )
by Oleg
12:58
created

SetOwnerMiddleware   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 2
dl 0
loc 18
ccs 6
cts 6
cp 1
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A process() 0 11 2
1
<?php
2
declare(strict_types=1);
3
4
namespace SlayerBirden\DataFlowServer\Domain\Middleware;
5
6
use Psr\Http\Message\ResponseInterface;
7
use Psr\Http\Message\ServerRequestInterface;
8
use Psr\Http\Server\MiddlewareInterface;
9
use Psr\Http\Server\RequestHandlerInterface;
10
use SlayerBirden\DataFlowServer\Authentication\Middleware\TokenMiddleware;
11
12
class SetOwnerMiddleware implements MiddlewareInterface
13
{
14
    const OWNER_PARAM = 'owner';
15
    /**
16
     * @inheritdoc
17
     */
18 9
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
19
    {
20 9
        $data = $request->getParsedBody();
21
22 9
        $user = $request->getAttribute(TokenMiddleware::USER_PARAM);
23 9
        if ($user) {
24 9
            $data[self::OWNER_PARAM] = $user;
25
        }
26
27 9
        return $handler->handle($request->withParsedBody($data));
28
    }
29
}
30