Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. HttpFoundationFactory.php

function HttpFoundationFactory::createRequest

Overrides HttpFoundationFactoryInterface::createRequest

File

vendor/symfony/psr-http-message-bridge/Factory/HttpFoundationFactory.php, line 37

Class

HttpFoundationFactory
@author Kévin Dunglas <dunglas@gmail.com>

Namespace

Symfony\Bridge\PsrHttpMessage\Factory

Code

public function createRequest(ServerRequestInterface $psrRequest, bool $streamed = false) : Request {
    $server = [];
    $uri = $psrRequest->getUri();
    $server['SERVER_NAME'] = $uri->getHost();
    $server['SERVER_PORT'] = $uri->getPort() ?: ('https' === $uri->getScheme() ? 443 : 80);
    $server['REQUEST_URI'] = $uri->getPath();
    $server['QUERY_STRING'] = $uri->getQuery();
    if ('' !== $server['QUERY_STRING']) {
        $server['REQUEST_URI'] .= '?' . $server['QUERY_STRING'];
    }
    if ('https' === $uri->getScheme()) {
        $server['HTTPS'] = 'on';
    }
    $server['REQUEST_METHOD'] = $psrRequest->getMethod();
    $server = array_replace($psrRequest->getServerParams(), $server);
    $parsedBody = $psrRequest->getParsedBody();
    $parsedBody = \is_array($parsedBody) ? $parsedBody : [];
    $request = new Request($psrRequest->getQueryParams(), $parsedBody, $psrRequest->getAttributes(), $psrRequest->getCookieParams(), $this->getFiles($psrRequest->getUploadedFiles()), $server, $streamed ? $psrRequest->getBody()
        ->detach() : $psrRequest->getBody()
        ->__toString());
    $request->headers
        ->add($psrRequest->getHeaders());
    return $request;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal