src/FactoryUri.php
public static function createFromServer(): \One\Uri
    {
        $scheme = self::validateString((string) self::checkData($_SERVER, 'HTTPS', 'http://'));
        $host = self::validateString((string) self::checkData($_SERVER, 'HTTP_HOST', isset($_SERVER['SERVER_NAME'])));
        $port = self::checkData($_SERVER, 'SERVER_PORT', null);
        $user = self::validateString((string) self::checkData($_SERVER, 'PHP_AUTH_USER', ''));
        $pass = self::validateString((string) self::checkData($_SERVER, 'PHP_AUTH_PW', ''));
        $path = (string) self::checkData($_SERVER, 'REQUEST_URI', '');
        $path = self::validateString(parse_url('http://www.foobar.com/' . $path, PHP_URL_PATH));
        $query = self::validateString((string) self::checkData($_SERVER, 'QUERY_STRING', ''));
        $fragment = '';
        if (empty($user) && empty($pass) && ! empty($_SERVER['HTTP_AUTHORIZATION'])) {
            [$user, $password] = explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6), true));
        }
        return self::createUri($scheme, $host, $port, $user, $pass, $path, $query, $fragment);
    }
public static function createFromServer(): \One\Uri
    {
        $scheme = self::validateString((string) self::checkData($_SERVER, 'HTTPS', 'http://'));
        $host = self::validateString((string) self::checkData($_SERVER, 'HTTP_HOST', isset($_SERVER['SERVER_NAME'])));
        $port = self::checkData($_SERVER, 'SERVER_PORT', null);
        $user = self::validateString((string) self::checkData($_SERVER, 'PHP_AUTH_USER', ''));
        $pass = self::validateString((string) self::checkData($_SERVER, 'PHP_AUTH_PW', ''));
        $path = (string) self::checkData($_SERVER, 'REQUEST_URI', '');
        $path = self::validateString(parse_url('http://www.foobar.com/' . $path, PHP_URL_PATH));
        $query = self::validateString((string) self::checkData($_SERVER, 'QUERY_STRING', ''));
        $fragment = '';
        if (empty($user) && empty($pass) && ! empty($_SERVER['HTTP_AUTHORIZATION'])) {
            [$user, $password] = explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6), true));
        }
        return self::createUri($scheme, $host, $port, $user, $pass, $path, $query, $fragment);
    }
function for Create Uri From Server