public static function createGlobal()
    {
        $uri = new Uri(isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '');
        $method = isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : 'GET';
        $request = new self(
            $uri,
            $method,
            $_GET,
            $_POST,
            $_COOKIE,
            UploadedFile::convert($_FILES),
            $_SERVER
        );
        foreach ($_SERVER as $name => $value) {
            if (substr_compare($name, 'HTTP_', 0, 5) === 0) {
                $request->setHeader(str_replace('_', '-', substr($name, 5)), $value);
            }
        }
        return $request;
    }