Lines 100.00% 10 / 10
Functions and Methods 100.00% 1 / 1
Classes and Traits 100.00% 1 / 1
Name Lines Functions and Methods CRAP Classes and Traits
ServerRequestFactory 100.00% 10 / 10 100.00% 1 / 1 1 100.00% 1 / 1
 createFromGlobals 100.00% 10 / 10 100.00% 1 / 1 1
1<?php
2
3/**
4 * @copyright BerlinOnline Stadtportal GmbH & Co. KG
5 **/
6
7declare(strict_types=1);
8
9namespace BO\Slim\Factory;
10
11use Slim\Psr7\Request as PsrRequest;
12use BO\Slim\Request;
13use Slim\Psr7\Headers;
14
15class ServerRequestFactory extends \Slim\Psr7\Factory\ServerRequestFactory
16{
17    /**
18     * {@inheritDoc}
19     *
20     * @SuppressWarnings(PHPMD.Superglobals)
21     */
22    #[\Override]
23    public static function createFromGlobals(): PsrRequest
24    {
25        /** @psalm-suppress InternalMethod Wraps Slim's internal factory so apps get BO\Slim\Request. */
26        $psrRequest = parent::createFromGlobals();
27
28        return new Request(
29            $psrRequest->getMethod(),
30            $psrRequest->getUri(),
31            Headers::createFromGlobals(),
32            $psrRequest->getCookieParams(),
33            $_SERVER,
34            $psrRequest->getBody(),
35            $psrRequest->getUploadedFiles()
36        );
37    }
38}