HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/web/phpmyadmin (prev)/libraries/classes/Http/Factory/ServerRequestFactory.php
<?php

declare(strict_types=1);

namespace PhpMyAdmin\Http\Factory;

use PhpMyAdmin\Http\ServerRequest;
use Psr\Http\Message\ServerRequestFactoryInterface;
use Psr\Http\Message\ServerRequestInterface;
use Slim\Psr7\Factory\ServerRequestFactory as RequestFactory;

class ServerRequestFactory implements ServerRequestFactoryInterface
{
    /** @var ServerRequestFactoryInterface */
    private $factory;

    public function __construct(?ServerRequestFactoryInterface $factory = null)
    {
        if ($factory === null) {
            $this->factory = new RequestFactory();

            return;
        }

        $this->factory = $factory;
    }

    /**
     * @inheritDoc
     */
    public function createServerRequest(string $method, $uri, array $serverParams = []): ServerRequestInterface
    {
        $serverRequest = $this->factory->createServerRequest($method, $uri, $serverParams);

        return new ServerRequest($serverRequest);
    }

    public static function createFromGlobals(): ServerRequest
    {
        /** @psalm-suppress InternalMethod */
        $serverRequest = RequestFactory::createFromGlobals();

        return new ServerRequest($serverRequest);
    }
}