Viewing file: RequestFactory.php (1.83 KB) -rwxr-x--- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/** * Slim Framework (https://slimframework.com) * * @license https://github.com/slimphp/Slim-Psr7/blob/master/LICENSE.md (MIT License) */
declare(strict_types=1);
namespace Slim\Psr7\Factory;
use InvalidArgumentException; use Psr\Http\Message\RequestFactoryInterface; use Psr\Http\Message\RequestInterface; use Psr\Http\Message\StreamFactoryInterface; use Psr\Http\Message\UriFactoryInterface; use Psr\Http\Message\UriInterface; use Slim\Psr7\Headers; use Slim\Psr7\Request;
use function is_string;
class RequestFactory implements RequestFactoryInterface { /** * @var StreamFactoryInterface|StreamFactory */ protected $streamFactory;
/** * @var UriFactoryInterface|UriFactory */ protected $uriFactory;
/** * @param StreamFactoryInterface|null $streamFactory * @param UriFactoryInterface|null $uriFactory */ public function __construct(?StreamFactoryInterface $streamFactory = null, ?UriFactoryInterface $uriFactory = null) { if (!isset($streamFactory)) { $streamFactory = new StreamFactory(); }
if (!isset($uriFactory)) { $uriFactory = new UriFactory(); }
$this->streamFactory = $streamFactory; $this->uriFactory = $uriFactory; }
/** * {@inheritdoc} */ public function createRequest(string $method, $uri): RequestInterface { if (is_string($uri)) { $uri = $this->uriFactory->createUri($uri); }
if (!$uri instanceof UriInterface) { throw new InvalidArgumentException( 'Parameter 2 of RequestFactory::createRequest() must be a string or a compatible UriInterface.' ); }
$body = $this->streamFactory->createStream();
return new Request($method, $uri, new Headers(), [], [], $body); } }
|