Exemplo n.º 1
0
        public static string ParseErrorMessage(string statusMessage)
        {
            try
            {
                if (JsonUtilities.IsJson(statusMessage))
                {
                    JObject statusMessageJson = JObject.Parse(statusMessage);
                    if (statusMessageJson.GetValue("message", StringComparison.CurrentCultureIgnoreCase) != null)
                    {
                        return(statusMessageJson.GetValue("message", StringComparison.CurrentCultureIgnoreCase).ToString());
                    }
                    else if (statusMessageJson.GetValue("error", StringComparison.CurrentCultureIgnoreCase) != null)
                    {
                        JObject errorToken = statusMessageJson.GetValue("error", StringComparison.CurrentCultureIgnoreCase) as JObject;
                        return(errorToken.GetValue("message", StringComparison.CurrentCultureIgnoreCase).ToString());
                    }
                }
                else if (XmlUtilities.IsXml(statusMessage))
                {
                    return(XmlUtilities.DeserializeXmlString <ResourceManagementError>(statusMessage).Message);
                }

                return(statusMessage);
            }
            catch
            {
                return(statusMessage);
            }
        }
Exemplo n.º 2
0
        public static MeasuresContainer ParseText(string text)
        {
            if (JsonUtilities.IsJson(text))
            {
                return(ParseJson(text));
            }

            return(ParseXmla(text));
        }
Exemplo n.º 3
0
        public string UpdateMeasures(string text)
        {
            if (JsonUtilities.IsJson(text))
            {
                return(UpdateMeasuresInJson(text));
            }

            return(UpdateMeasuresInXmla(text));
        }
Exemplo n.º 4
0
        /// <summary>
        /// For now, the 2nd message KVP inside "details" contains useful info about the failure. Eventually, a code KVP
        /// will be added such that we can search on that directly.
        /// </summary>
        /// <param name="content"></param>
        /// <returns></returns>
        internal static string FindDetailedMessage(string content)
        {
            string message = null;

            if (JsonUtilities.IsJson(content))
            {
                var response = JObject.Parse(content);

                // check that we have a details section
                var detailsToken = response["details"];

                if (detailsToken != null)
                {
                    var details = detailsToken as JArray;
                    if (details != null && details.Count > 1)
                    {
                        // for now, 2nd entry in array is the one we're interested in. Need a better way of identifying the
                        // detailed error message
                        var dObj = detailsToken[1] as JObject;
                        var code = dObj.GetValue("code", StringComparison.CurrentCultureIgnoreCase);
                        if (code != null)
                        {
                            message = code.ToString() + ": ";
                        }

                        var detailedMsg = dObj.GetValue("message", StringComparison.CurrentCultureIgnoreCase);
                        if (detailedMsg != null)
                        {
                            message += detailedMsg.ToString();
                        }
                    }
                }
            }

            return(message);
        }