DefaultPsrRequestCloner::clone()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 11
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 2
eloc 7
nc 2
nop 2
dl 0
loc 11
rs 10
c 1
b 0
f 1
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