PHP 8.3.30
Preview: HttpFactory.php Size: 3.00 KB
/home/getspomw/itechservicellc.com/vendor/guzzlehttp/psr7/src/HttpFactory.php

<?php

declare(strict_types=1);

namespace GuzzleHttp\Psr7;

use Psr\Http\Message\RequestFactoryInterface;
use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\ResponseFactoryInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestFactoryInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Message\StreamFactoryInterface;
use Psr\Http\Message\StreamInterface;
use Psr\Http\Message\UploadedFileFactoryInterface;
use Psr\Http\Message\UploadedFileInterface;
use Psr\Http\Message\UriFactoryInterface;
use Psr\Http\Message\UriInterface;

/**
 * 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.
 */
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);
    }
}

Directory Contents

Dirs: 1 × Files: 30

Name Size Perms Modified Actions
Exception DIR
- drwxr-xr-x 2025-11-18 19:23:52
Edit Download
5.81 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
3.14 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
4.49 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
1.17 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
4.21 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
3.85 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
3.00 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
1.38 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
1.06 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
4.20 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
8.14 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
7.56 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
53.75 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
5.06 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
524 B lrw-r--r-- 2025-10-28 20:22:14
Edit Download
4.49 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
3.95 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
3.82 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
4.79 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
661 B lrw-r--r-- 2025-10-28 20:22:14
Edit Download
9.33 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
7.21 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
3.24 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
4.53 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
4.98 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
21.44 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
1.12 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
8.26 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
8.38 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download
15.57 KB lrw-r--r-- 2025-10-28 20:22:14
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).