Completed
Push — master ( 3309bb...059e5b )
by Changwan
02:58
created

Parameterify::__invoke()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 22
Code Lines 18

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 17
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 18
nc 1
nop 2
dl 0
loc 22
ccs 17
cts 17
cp 1
crap 1
rs 9.2
c 0
b 0
f 0
1
<?php
2
namespace Wandu\Router\Middleware;
3
4
use Closure;
5
use Psr\Http\Message\ServerRequestInterface;
6
use Wandu\Http\Contracts\ParsedBodyInterface;
7
use Wandu\Http\Contracts\QueryParamsInterface;
8
use Wandu\Http\Contracts\ServerParamsInterface;
9
use Wandu\Http\Parameters\ParsedBody;
10
use Wandu\Http\Parameters\QueryParams;
11
use Wandu\Http\Parameters\ServerParams;
12
use Wandu\Router\Contracts\MiddlewareInterface;
13
14
class Parameterify implements MiddlewareInterface
15
{
16
    /**
17
     * {@inheritdoc}
18
     */
19 1
    public function __invoke(ServerRequestInterface $request, Closure $next)
20
    {
21 1
        $serverParams = new ServerParams($request);
22 1
        $queryParams = new QueryParams($request);
23 1
        $parsedBody = new ParsedBody($request);
24
        
25
        $request = $request
26 1
            ->withAttribute('server_params', $serverParams)
27 1
            ->withAttribute('serverParams', $serverParams)
28 1
            ->withAttribute(ServerParams::class, $serverParams)
29 1
            ->withAttribute(ServerParamsInterface::class, $serverParams)
30 1
            ->withAttribute('query_params', $queryParams)
31 1
            ->withAttribute('queryParams', $queryParams)
32 1
            ->withAttribute(QueryParams::class, $queryParams)
33 1
            ->withAttribute(QueryParamsInterface::class, $queryParams)
34 1
            ->withAttribute('parsed_body', $parsedBody)
35 1
            ->withAttribute('parsedBody', $parsedBody)
36 1
            ->withAttribute(ParsedBody::class, $parsedBody)
37 1
            ->withAttribute(ParsedBodyInterface::class, $parsedBody);
38
39 1
        return $next($request);
40
    }
41
}
42