Server IP : 51.89.169.208 / Your IP : 3.140.186.66 Web Server : Apache System : Linux ns3209505.ip-198-244-202.eu 4.18.0-553.27.1.el8_10.x86_64 #1 SMP Tue Nov 5 04:50:16 EST 2024 x86_64 User : yellowleaf ( 1019) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/yellowleaf/public_html/phpMyAdmin/vendor/slim/psr7/src/Factory/ |
Upload File : |
<?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\ServerRequestFactoryInterface; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Message\StreamFactoryInterface; use Psr\Http\Message\UriFactoryInterface; use Psr\Http\Message\UriInterface; use Slim\Psr7\Cookies; use Slim\Psr7\Headers; use Slim\Psr7\Request; use Slim\Psr7\Stream; use Slim\Psr7\UploadedFile; use function current; use function explode; use function fopen; use function in_array; use function is_string; class ServerRequestFactory implements ServerRequestFactoryInterface { /** * @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 createServerRequest(string $method, $uri, array $serverParams = []): ServerRequestInterface { if (is_string($uri)) { $uri = $this->uriFactory->createUri($uri); } if (!$uri instanceof UriInterface) { throw new InvalidArgumentException('URI must either be string or instance of ' . UriInterface::class); } $body = $this->streamFactory->createStream(); $headers = new Headers(); $cookies = []; if (!empty($serverParams)) { $headers = Headers::createFromGlobals(); $cookies = Cookies::parseHeader($headers->getHeader('Cookie', [])); } return new Request($method, $uri, $headers, $cookies, $serverParams, $body); } /** * Create new ServerRequest from environment. * * @internal This method is not part of PSR-17 * * @return Request */ public static function createFromGlobals(): Request { $method = isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : 'GET'; $uri = (new UriFactory())->createFromGlobals($_SERVER); $headers = Headers::createFromGlobals(); $cookies = Cookies::parseHeader($headers->getHeader('Cookie', [])); // Cache the php://input stream as it cannot be re-read $cacheResource = fopen('php://temp', 'wb+'); $cache = $cacheResource ? new Stream($cacheResource) : null; $body = (new StreamFactory())->createStreamFromFile('php://input', 'r', $cache); $uploadedFiles = UploadedFile::createFromGlobals($_SERVER); $request = new Request($method, $uri, $headers, $cookies, $_SERVER, $body, $uploadedFiles); $contentTypes = $request->getHeader('Content-Type') ?? []; $parsedContentType = ''; foreach ($contentTypes as $contentType) { $fragments = explode(';', $contentType); $parsedContentType = current($fragments); } $contentTypesWithParsedBodies = ['application/x-www-form-urlencoded', 'multipart/form-data']; if ($method === 'POST' && in_array($parsedContentType, $contentTypesWithParsedBodies)) { return $request->withParsedBody($_POST); } return $request; } }