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

Breadcrumb

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

class HttpFactory

Implements all of the PSR-17 interfaces.

Note: in consuming code it is recommended to require the implemented interfaces and inject the instance of this class multiple times.

Hierarchy

  • class \GuzzleHttp\Psr7\HttpFactory implements \Psr\Http\Message\RequestFactoryInterface, \Psr\Http\Message\ResponseFactoryInterface, \Psr\Http\Message\ServerRequestFactoryInterface, \Psr\Http\Message\StreamFactoryInterface, \Psr\Http\Message\UploadedFileFactoryInterface, \Psr\Http\Message\UriFactoryInterface

Expanded class hierarchy of HttpFactory

File

vendor/guzzlehttp/psr7/src/HttpFactory.php, line 26

Namespace

GuzzleHttp\Psr7
View source
final class HttpFactory implements RequestFactoryInterface, ResponseFactoryInterface, ServerRequestFactoryInterface, StreamFactoryInterface, UploadedFileFactoryInterface, UriFactoryInterface {
    public function createUploadedFile(StreamInterface $stream, ?int $size = null, int $error = \UPLOAD_ERR_OK, ?string $clientFilename = null, ?string $clientMediaType = null) : UploadedFileInterface {
        if ($size === null) {
            $size = $stream->getSize();
        }
        return new UploadedFile($stream, $size, $error, $clientFilename, $clientMediaType);
    }
    public function createStream(string $content = '') : StreamInterface {
        return Utils::streamFor($content);
    }
    public function createStreamFromFile(string $file, string $mode = 'r') : StreamInterface {
        try {
            $resource = Utils::tryFopen($file, $mode);
        } catch (\RuntimeException $e) {
            if ('' === $mode || false === \in_array($mode[0], [
                'r',
                'w',
                'a',
                'x',
                'c',
            ], true)) {
                throw new \InvalidArgumentException(sprintf('Invalid file opening mode "%s"', $mode), 0, $e);
            }
            throw $e;
        }
        return Utils::streamFor($resource);
    }
    public function createStreamFromResource($resource) : StreamInterface {
        return Utils::streamFor($resource);
    }
    public function createServerRequest(string $method, $uri, array $serverParams = []) : ServerRequestInterface {
        if (empty($method)) {
            if (!empty($serverParams['REQUEST_METHOD'])) {
                $method = $serverParams['REQUEST_METHOD'];
            }
            else {
                throw new \InvalidArgumentException('Cannot determine HTTP method');
            }
        }
        return new ServerRequest($method, $uri, [], null, '1.1', $serverParams);
    }
    public function createResponse(int $code = 200, string $reasonPhrase = '') : ResponseInterface {
        return new Response($code, [], null, '1.1', $reasonPhrase);
    }
    public function createRequest(string $method, $uri) : RequestInterface {
        return new Request($method, $uri);
    }
    public function createUri(string $uri = '') : UriInterface {
        return new Uri($uri);
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title
HttpFactory::createRequest public function Create a new request. Overrides RequestFactoryInterface::createRequest
HttpFactory::createResponse public function Create a new response. Overrides ResponseFactoryInterface::createResponse
HttpFactory::createServerRequest public function Create a new server request. Overrides ServerRequestFactoryInterface::createServerRequest
HttpFactory::createStream public function Create a new stream from a string. Overrides StreamFactoryInterface::createStream
HttpFactory::createStreamFromFile public function Create a stream from an existing file. Overrides StreamFactoryInterface::createStreamFromFile
HttpFactory::createStreamFromResource public function Create a new stream from an existing resource. Overrides StreamFactoryInterface::createStreamFromResource
HttpFactory::createUploadedFile public function Create a new uploaded file. Overrides UploadedFileFactoryInterface::createUploadedFile
HttpFactory::createUri public function Create a new URI. Overrides UriFactoryInterface::createUri

API Navigation

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