Completed
Push — master ( 3cfac2...b239b2 )
by Filipe
02:54
created

Session   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 5

Test Coverage

Coverage 100%

Importance

Changes 2
Bugs 0 Features 2
Metric Value
wmc 1
c 2
b 0
f 2
lcom 0
cbo 5
dl 0
loc 27
ccs 9
cts 9
cp 1
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A handle() 0 15 1
1
<?php
2
3
/**
4
 * This file is part of slick/mvc package
5
 *
6
 * For the full copyright and license information, please view the LICENSE
7
 * file that was distributed with this source code.
8
 */
9
10
namespace Slick\Mvc\Http;
11
12
use Psr\Http\Message\ResponseInterface;
13
use Psr\Http\Message\ServerRequestInterface;
14
use Slick\Http\Server\AbstractMiddleware;
15
use Slick\Http\Server\MiddlewareInterface;
16
use Slick\Mvc\Application;
17
use Slick\Mvc\ControllerInterface;
18
19
/**
20
 * Session initialization
21
 * 
22
 * @package Slick\Mvc\Http
23
 * @author  Filipe Silva <[email protected]>
24
 */
25
class Session extends AbstractMiddleware implements MiddlewareInterface
26
{
27
28
    /**
29
     * Handles a Request and updated the response
30
     *
31
     * @param ServerRequestInterface $request
32
     * @param ResponseInterface $response
33
     *
34
     * @return ResponseInterface
35
     */
36 2
    public function handle(
37
        ServerRequestInterface $request, ResponseInterface $response
38
    )
39
    {
40 2
        $key = ControllerInterface::REQUEST_ATTR_VIEW_DATA;
41 2
        $vars = $request->getAttribute($key, []);
42 2
        $session = Application::container()->get('session');
43 2
        $vars['flashMessages'] = new FlashMessages();
44
        $request = $request
45 2
            ->withAttribute('session', $session)
46 2
            ->withAttribute($key, $vars)
47 1
        ;
48
49 2
        return $this->executeNext($request, $response);
50
    }
51
}