Completed
Push — master ( ef610a...dc0762 )
by Gabor
24:45
created

RoutingMiddleware::__invoke()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 10
rs 9.4285
cc 1
eloc 6
nc 1
nop 2
1
<?php
2
/**
3
 * WebHemi.
4
 *
5
 * PHP version 5.6
6
 *
7
 * @copyright 2012 - 2016 Gixx-web (http://www.gixx-web.com)
8
 * @license   https://opensource.org/licenses/MIT The MIT License (MIT)
9
 *
10
 * @link      http://www.gixx-web.com
11
 */
12
namespace WebHemi\Middleware;
13
14
use Psr\Http\Message\ResponseInterface;
15
use Psr\Http\Message\ServerRequestInterface;
16
use WebHemi\Adapter\Router\RouterAdapterInterface;
17
18
/**
19
 * Class RoutingMiddleware.
20
 */
21
class RoutingMiddleware implements MiddlewareInterface
22
{
23
    /** @var RouterAdapterInterface */
24
    private $routerAdapter;
25
26
    /**
27
     * RoutingMiddleware constructor.
28
     *
29
     * @param RouterAdapterInterface $routerAdapter
30
     */
31
    public function __construct(RouterAdapterInterface $routerAdapter)
32
    {
33
        $this->routerAdapter = $routerAdapter;
34
    }
35
36
    /**
37
     * From the request .
38
     *
39
     * @param ServerRequestInterface $request
40
     * @param ResponseInterface      $response
41
     *
42
     * @return ResponseInterface
43
     */
44
    public function __invoke(ServerRequestInterface &$request, ResponseInterface $response)
45
    {
46
        $routeResult = $this->routerAdapter->match($request);
47
48
        $request = $request
49
            ->withAttribute('routeResult', $routeResult)
50
            ->withAttribute('resolvedActionMiddleware', \WebHemi\Middleware\Action\FakeAction::class);
51
52
        return $response;
53
    }
54
}
55