public ResultInfo(ResponseType responseType, BadStatusResponse status)
        {
            Message      = status?.Message;
            ResponseType = responseType;
            HandleMessages(Message);
            switch (ResponseType)
            {
            case ResponseType.ActionBlocked:
            case ResponseType.Spam:
                if (status != null && (!string.IsNullOrEmpty(status.FeedbackMessage) && (status.FeedbackMessage.ToLower().Contains("this block will expire on"))))
                {
                    var dateRegex = new Regex(@"(\d+)[-.\/](\d+)[-.\/](\d+)");
                    var dateMatch = dateRegex.Match(status.FeedbackMessage);
                    if (DateTime.TryParse(dateMatch.ToString(), out var parsedDate))
                    {
                        ActionBlockEnd = parsedDate;
                    }
                }
                else
                {
                    ActionBlockEnd = null;
                }

                break;

            default:
                ActionBlockEnd = null;
                break;
            }
        }
        internal static BadStatusResponse GetBadStatusFromJsonString(string json)
        {
            var badStatus = new BadStatusResponse();

            try
            {
                if (string.IsNullOrEmpty(json))
                {
                    badStatus.ErrorType = "Unknown";
                    badStatus.Message   = "No info about error received from IG";
                }
                else if (json.Contains("Oops, an error occurred"))
                {
                    badStatus.ErrorType = "IG server reported error";
                    badStatus.Message   = json;
                }
                else
                {
                    badStatus = JsonConvert.DeserializeObject <BadStatusResponse>(json);
                }
            }
            catch (Exception ex)
            {
                badStatus.Message = ex.Message;
            }

            return(badStatus);
        }
        internal static BadStatusResponse GetBadStatusFromJsonString(string json)
        {
            var badStatus = new BadStatusResponse();

            try
            {
                if (json.Contains("Oops, an error occurred"))
                {
                    badStatus.Message = json;
                }
                else if (json.Contains("debug_info"))
                {
                    JObject root      = JObject.Parse(json);
                    JToken  debugInfo = root["debug_info"];
                    string  type      = debugInfo["type"].ToString();
                    string  message   = debugInfo["message"].ToString();

                    badStatus = new BadStatusResponse()
                    {
                        Message = message, ErrorType = type
                    };
                }

                else
                {
                    badStatus = JsonConvert.DeserializeObject <BadStatusResponse>(json);
                }
            }
            catch (Exception ex)
            {
                badStatus.Message = ex.Message;
            }

            return(badStatus);
        }
Exemple #4
0
        private BadStatusResponse GetBadStatusFromJsonString(string json)
        {
            var badStatus = new BadStatusResponse();

            try
            {
                badStatus = JsonConvert.DeserializeObject <BadStatusResponse>(json);
            }
            catch (Exception ex)
            {
                badStatus.Message = ex.Message;
            }
            return(badStatus);
        }
        internal static BadStatusResponse GetBadStatusFromJsonString(string json)
        {
            var badStatus = new BadStatusResponse();
            try
            {
                if (json == "Oops, an error occurred\n")
                    badStatus.Message = json;
                else badStatus = JsonConvert.DeserializeObject<BadStatusResponse>(json);
            }
            catch (Exception ex)
            {
                badStatus.Message = ex.Message;
            }

            return badStatus;
        }
Exemple #6
0
        internal static BadStatusResponse GetBadStatusFromJsonString(string json)
        {
            var badStatus = new BadStatusResponse();

            try
            {
                if (json.Contains("Oops, an error occurred"))
                {
                    badStatus.Message = json;
                }
                else
                {
                    badStatus = JsonConvert.DeserializeObject <BadStatusResponse>(json);
                }
            }
            catch (Exception ex)
            {
                badStatus.Message = ex.Message;
            }

            return(badStatus);
        }
Exemple #7
0
 public ResultInfo(ResponseType responseType, BadStatusResponse status)
 {
     Message      = status?.Message;
     ResponseType = responseType;
     HandleMessages(Message);
 }