Completed
Push — master ( 5c0b6f...5c71f2 )
by Oleg
10:16
created

SetOwnerMiddleware   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 87.5%

Importance

Changes 0
Metric Value
wmc 3
lcom 0
cbo 3
dl 0
loc 20
ccs 7
cts 8
cp 0.875
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A process() 0 14 3
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\Validation\DataValidationResponseFactory;
13
14
final class SetOwnerMiddleware implements MiddlewareInterface
15
{
16
    /**
17
     * @inheritdoc
18
     */
19 11
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
20
    {
21 11
        $data = $request->getParsedBody();
22 11
        if (!is_array($data)) {
23
            return (new DataValidationResponseFactory())();
24
        }
25
26 11
        $user = $request->getAttribute(TokenMiddleware::USER_PARAM);
27 11
        if ($user) {
28 11
            $data[ClaimedResourceInterface::OWNER_PARAM] = $user;
29
        }
30
31 11
        return $handler->handle($request->withParsedBody($data));
32
    }
33
}
34