From 92eae4d570147df31e4aab23f25f7fa3e78954c7 Mon Sep 17 00:00:00 2001 From: Martin Lee Date: Fri, 28 Feb 2020 01:33:28 +0000 Subject: [PATCH] Increase wait times --- BritishHorseRacingApi/ApiClient.cs | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/BritishHorseRacingApi/ApiClient.cs b/BritishHorseRacingApi/ApiClient.cs index e03eeb3..8f17c47 100644 --- a/BritishHorseRacingApi/ApiClient.cs +++ b/BritishHorseRacingApi/ApiClient.cs @@ -4,6 +4,7 @@ using SuccessfulCodeTools; using SuccessfulCodeTools.LowLevelHttpClient; using System; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; using System.Net; using System.Net.Http; @@ -46,16 +47,24 @@ namespace BritishHorseRacingApi } var content = response.Content; - while (content.StartsWith("<")) + while (content.StartsWith("<") || content.StartsWith("Error: \"Failed to connect")) { await Task.Delay(TimeSpan.FromSeconds(_waitTimeAfterFail)); - _client.DefaultHeaders.Items.Clear(); - _client.OutgoingPort++; - message = CreateTokenMessage(); - message.Headers.Items.RemoveAll(e => e.Key == "Accept-Language"); - message.Headers.Items.Add(new KeyValuePair("Accept-Language",$"en-US,en;q=0.9;id={Guid.NewGuid().ToString()}")); + if (content.StartsWith("<")) + { + _client.DefaultHeaders.Items.Clear(); + _client.OutgoingPort++; + message = CreateTokenMessage(); + message.Headers.Items.RemoveAll(e => e.Key == "Accept-Language"); + message.Headers.Items.Add(new KeyValuePair("Accept-Language", $"en-US,en;q=0.9;id={Guid.NewGuid().ToString()}")); + } response = await _client.SendAsync(message); content = response.Content; + if (content.StartsWith("Error: \"Failed to connect")) + { + await Task.Delay(TimeSpan.FromSeconds(30)); + Trace.WriteLine("Waiting after conntect fail"); + } } var tokenResponse = content.DeserializeJson();