From f1bbe045fb6d162b03612b1b43999862f3c3bf9a Mon Sep 17 00:00:00 2001 From: Martin Lee Date: Thu, 27 Feb 2020 19:11:40 +0000 Subject: [PATCH] Update status --- BritishHorseRacingApi/ApiClient.cs | 12 ++++++++++-- BritishHorseRacingApi/Models/Status.cs | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/BritishHorseRacingApi/ApiClient.cs b/BritishHorseRacingApi/ApiClient.cs index fe2b45a..e03eeb3 100644 --- a/BritishHorseRacingApi/ApiClient.cs +++ b/BritishHorseRacingApi/ApiClient.cs @@ -248,10 +248,17 @@ namespace BritishHorseRacingApi } var content = response.Content; - while (content.StartsWith("<")) + while (content.StartsWith("<") || content.StartsWith("Error: \"Failed to connect")) { + if (!content.StartsWith("<")) + { + await Task.Delay(TimeSpan.FromSeconds(30)); + response = await SendRequest(endpoint); + content = response.Content; + continue; + } + await Task.Delay(TimeSpan.FromSeconds(_waitTimeAfterFail)); - //_client.OutgoingPort++; await GetNewToken(); _client.DefaultHeaders.Items.RemoveAll(e => e.Key == "Accept-Language"); _client.DefaultHeaders.Items.Add(new KeyValuePair("Accept-Language", $"en-US,en;q=0.9;id={Guid.NewGuid().ToString()}")); @@ -260,6 +267,7 @@ namespace BritishHorseRacingApi content = response.Content; } + if (!response.IsSuccessStatusCode) { throw new Exception($"Unexpected error: {content}" ); diff --git a/BritishHorseRacingApi/Models/Status.cs b/BritishHorseRacingApi/Models/Status.cs index 5ef7d8f..e197e4d 100644 --- a/BritishHorseRacingApi/Models/Status.cs +++ b/BritishHorseRacingApi/Models/Status.cs @@ -1,4 +1,4 @@ namespace BritishHorseRacingApi.Models { - public enum Status { Runner, Dnf, Withdrawn }; + public enum Status { Runner, Dnf, Withdrawn, NonRunner }; }