Completed
Push — master ( 0456c5...25ee32 )
by Oleg
04:45
created

SetOwnerMiddleware   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 17
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 3
dl 0
loc 17
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
use SlayerBirden\DataFlowServer\Domain\Entities\ClaimedResourceInterface;
12
use SlayerBirden\DataFlowServer\Stdlib\Request\Parser;
13
14
final class SetOwnerMiddleware implements MiddlewareInterface
15
{
16
    /**
17
     * @inheritdoc
18
     */
19 34
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
20
    {
21 34
        $data = Parser::getRequestBody($request);
22
23 34
        $user = $request->getAttribute(TokenMiddleware::USER_PARAM);
24 34
        if ($user) {
25 34
            $data[ClaimedResourceInterface::OWNER_PARAM] = $user;
26
        }
27
28 34
        return $handler->handle($request->withParsedBody($data));
29
    }
30
}
31