Aurora.Services.WebAPIHandler.authorizationHeader C# (CSharp) Метод

authorizationHeader() приватный Метод

private authorizationHeader ( Aurora.Framework.Servers.HttpServer.OSHttpRequest request ) : string>.Dictionary
request Aurora.Framework.Servers.HttpServer.OSHttpRequest
Результат string>.Dictionary
        private Dictionary<string, string> authorizationHeader(OSHttpRequest request)
        {
            if ((new List<string>(request.Headers.AllKeys)).Contains("authorization"))
            {
                string auth = request.Headers["authorization"];
                if (auth.Substring(0, 7) == "Digest ")
                {
                    string[] authBits = Regex.Split(auth.Substring(7), ", ");
                    Dictionary<string, string> authorization = new Dictionary<string, string>(authBits.Length);
                    Regex authBitRegex = new Regex("^\".+\"$");
                    foreach (string authBit in authBits)
                    {
                        int pos = authBit.IndexOf('=');
                        if (pos >= 0)
                        {
                            authorization[authBit.Substring(0, pos)] = authBitRegex.IsMatch(authBit.Substring(pos + 1)) ? authBit.Substring(pos + 2, authBit.Length - pos - 3) : authBit.Substring(pos + 1);
                        }
                    }
                    return authorization;
                }
            }
            return null;
        }