Server IP : 51.89.169.208 / Your IP : 3.17.154.155 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\UriFactoryInterface; use Psr\Http\Message\UriInterface; use Slim\Psr7\Uri; use function count; use function explode; use function parse_url; use function preg_match; use function strpos; use function strstr; use function substr; use const PHP_URL_QUERY; class UriFactory implements UriFactoryInterface { /** * {@inheritdoc} */ public function createUri(string $uri = ''): UriInterface { $parts = parse_url($uri); if ($parts === false) { throw new InvalidArgumentException('URI cannot be parsed'); } $scheme = $parts['scheme'] ?? ''; $user = $parts['user'] ?? ''; $pass = $parts['pass'] ?? ''; $host = $parts['host'] ?? ''; $port = $parts['port'] ?? null; $path = $parts['path'] ?? ''; $query = $parts['query'] ?? ''; $fragment = $parts['fragment'] ?? ''; return new Uri($scheme, $host, $port, $path, $query, $fragment, $user, $pass); } /** * Create new Uri from environment. * * @internal This method is not part of PSR-17 * * @param array $globals The global server variables. * * @return Uri */ public function createFromGlobals(array $globals): Uri { // Scheme $https = isset($globals['HTTPS']) ? $globals['HTTPS'] : false; $scheme = !$https || $https === 'off' ? 'http' : 'https'; // Authority: Username and password $username = isset($globals['PHP_AUTH_USER']) ? $globals['PHP_AUTH_USER'] : ''; $password = isset($globals['PHP_AUTH_PW']) ? $globals['PHP_AUTH_PW'] : ''; // Authority: Host $host = ''; if (isset($globals['HTTP_HOST'])) { $host = $globals['HTTP_HOST']; } elseif (isset($globals['SERVER_NAME'])) { $host = $globals['SERVER_NAME']; } // Authority: Port $port = !empty($globals['SERVER_PORT']) ? (int)$globals['SERVER_PORT'] : ($scheme === 'https' ? 443 : 80); if (preg_match('/^(\[[a-fA-F0-9:.]+])(:\d+)?\z/', $host, $matches)) { $host = $matches[1]; if (isset($matches[2])) { $port = (int) substr($matches[2], 1); } } else { $pos = strpos($host, ':'); if ($pos !== false) { $port = (int) substr($host, $pos + 1); $host = strstr($host, ':', true); } } // Query string $queryString = ''; if (isset($globals['QUERY_STRING'])) { $queryString = $globals['QUERY_STRING']; } // Request URI $requestUri = ''; if (isset($globals['REQUEST_URI'])) { $uriFragments = explode('?', $globals['REQUEST_URI']); $requestUri = $uriFragments[0]; if ($queryString === '' && count($uriFragments) > 1) { $queryString = parse_url('http://www.example.com' . $globals['REQUEST_URI'], PHP_URL_QUERY) ?? ''; } } // Build Uri and return return new Uri($scheme, $host, $port, $requestUri, $queryString, '', $username, $password); } }