DefaultPsrRequestCloner   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 13
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
eloc 8
dl 0
loc 13
rs 10
c 1
b 0
f 1
wmc 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A clone() 0 11 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Kafkiansky\SymfonyMiddleware\Psr;
6
7
use Psr\Http\Message\ServerRequestInterface as PsrRequest;
8
use Symfony\Component\HttpFoundation\Request as SymfonyRequest;
9
10
final class DefaultPsrRequestCloner implements PsrRequestCloner
11
{
12
    public function clone(SymfonyRequest $symfonyRequest, PsrRequest $psrRequest): SymfonyRequest
13
    {
14
        $symfonyRequest->attributes->replace($psrRequest->getAttributes());
15
        $symfonyRequest->headers->replace($psrRequest->getHeaders());
16
        $symfonyRequest->query->replace($psrRequest->getQueryParams());
17
18
        if (\is_array($parsedBody = $psrRequest->getParsedBody())) {
19
            $symfonyRequest->request->replace($parsedBody);
20
        }
21
22
        return $symfonyRequest;
23
    }
24
}
25