コード例 #1
0
ファイル: HttpHelper.cs プロジェクト: longshine/EasyWeb.NET
        /// <summary>
        /// Parses Authorization header and stores user info in the config.
        /// </summary>
        public static void ParseAuthorization(XmlRpcHttpRequestConfig config, String line)
        {
            if (String.IsNullOrEmpty(line))
            {
                return;
            }

            line = line.Trim();
            IEnumerator it = line.Split(' ', '\t', '\n', '\r', '\f').GetEnumerator();

            if (!it.MoveNext())
            {
                return;
            }
            if (!String.Equals("basic", (String)it.Current, StringComparison.OrdinalIgnoreCase))
            {
                return;
            }
            if (!it.MoveNext())
            {
                return;
            }

            // TODO handle exception
            Byte[]   bytes = Convert.FromBase64String((String)it.Current);
            Encoding enc   = String.IsNullOrEmpty(config.BasicEncoding) ? Encoding.UTF8 : Encoding.GetEncoding(config.BasicEncoding);
            String   s     = enc.GetString(bytes);
            Int32    col   = s.IndexOf(':');

            if (col >= 0)
            {
                config.BasicUserName = s.Substring(0, col);
                config.BasicPassword = s.Substring(col + 1);
            }
        }
コード例 #2
0
ファイル: HttpHelper.cs プロジェクト: longshine/EasyWeb.NET
        /// <summary>
        /// Parses Authorization header and stores user info in the config.
        /// </summary>
        public static void ParseAuthorization(XmlRpcHttpRequestConfig config, String line)
        {
            if (String.IsNullOrEmpty(line))
                return;

            line = line.Trim();
            IEnumerator it = line.Split(' ', '\t', '\n', '\r', '\f').GetEnumerator();
            if (!it.MoveNext())
                return;
            if (!String.Equals("basic", (String)it.Current, StringComparison.OrdinalIgnoreCase))
                return;
            if (!it.MoveNext())
                return;

            // TODO handle exception
            Byte[] bytes = Convert.FromBase64String((String)it.Current);
            Encoding enc = String.IsNullOrEmpty(config.BasicEncoding) ? Encoding.UTF8 : Encoding.GetEncoding(config.BasicEncoding);
            String s = enc.GetString(bytes);
            Int32 col = s.IndexOf(':');
            if (col >= 0)
            {
                config.BasicUserName = s.Substring(0, col);
                config.BasicPassword = s.Substring(col + 1);
            }
        }