ParseCookieParamModifier   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 100%
Metric Value
wmc 3
lcom 0
cbo 1
dl 0
loc 21
ccs 9
cts 9
cp 1
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A modify() 0 17 3
1
<?php
2
3
namespace Thruster\Component\HttpModifiers;
4
5
use Psr\Http\Message\ServerRequestInterface;
6
use Thruster\Component\HttpModifier\ServerRequestModifierInterface;
7
8
/**
9
 * Class ParseCookieParamModifier
10
 *
11
 * @package Thruster\Component\HttpModifiers\ResponseModifier
12
 * @author  Aurimas Niekis <[email protected]>
13
 */
14
class ParseCookieParamModifier implements ServerRequestModifierInterface
15
{
16 1
    public function modify(ServerRequestInterface $request) : ServerRequestInterface
17
    {
18 1
        $headerValues = $request->getHeader('Cookie');
19 1
        $cookies = [];
20
21 1
        foreach ($headerValues as $headerValue) {
22 1
            $parts = explode(';', str_replace('; ', ';', $headerValue));
23
24 1
            foreach ($parts as $part) {
25 1
                list($key, $value) = explode('=', $part);
26
27 1
                $cookies[$key] = $value;
28
            }
29
        }
30
31 1
        return $request->withCookieParams($cookies);
32
    }
33
34
}
35