WindowsAzure.Acs.Oauth2.Client.WinRT.Protocol.OAuthMessageSerializer.ReadJsonEncodedParameters C# (CSharp) Method

ReadJsonEncodedParameters() public method

public ReadJsonEncodedParameters ( System incomingStream ) : string>.Dictionary
incomingStream System
return string>.Dictionary
        public virtual Dictionary<string,string> ReadJsonEncodedParameters(System.IO.Stream incomingStream)
        {
            if (incomingStream == null)
            {
                throw new ArgumentNullException("incomingStream");
            }

            Dictionary<string,string> parameters = new Dictionary<string,string>();
            var jsonReader = new JsonTextReader(new StreamReader(incomingStream));

            while (jsonReader.Read())
            {
                // Not interested in nested objects/arrays! 
                if (jsonReader.Depth > 1)
                {
                    jsonReader.Skip();
                }
                else if (jsonReader.TokenType == JsonToken.PropertyName)
                {
                    string key = jsonReader.Value.ToString();
                    if (jsonReader.Read())
                    {
                        switch (jsonReader.TokenType)
                        {
                            case JsonToken.Boolean:
                            case JsonToken.Date:
                            case JsonToken.Float:
                            case JsonToken.Integer:
                            case JsonToken.Null:
                            case JsonToken.String:
                                parameters[key] = jsonReader.Value.ToString();
                                break;
                        }
                    }
                }
            }

            return parameters;
        }