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

Parameterify   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
dl 0
loc 28
ccs 17
cts 17
cp 1
rs 10
c 0
b 0
f 0
wmc 1
lcom 0
cbo 4

1 Method

Rating   Name   Duplication   Size   Complexity  
A __invoke() 0 22 1
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