public static string UrlPathEncode(string str)
        {
            if (string.IsNullOrEmpty(str))
            {
                return(str);
            }
            int num = str.IndexOf('?');

            if (num >= 0)
            {
                return(XmlaHttpUtility.UrlPathEncode(str.Substring(0, num)) + str.Substring(num));
            }
            return(XmlaHttpUtility.UrlEncodeSpaces(XmlaHttpUtility.UrlEncodeNonAscii(str, Encoding.UTF8)));
        }