diff --git a/src/BirdsiteLive.Twitter/Tools/TwitterAuthenticationInitializer.cs b/src/BirdsiteLive.Twitter/Tools/TwitterAuthenticationInitializer.cs index e93e655..bad4a3e 100644 --- a/src/BirdsiteLive.Twitter/Tools/TwitterAuthenticationInitializer.cs +++ b/src/BirdsiteLive.Twitter/Tools/TwitterAuthenticationInitializer.cs @@ -59,7 +59,10 @@ namespace BirdsiteLive.Twitter.Tools _twitterClients.RemoveAt(i); _tokens.RemoveAt(i); } - catch (IndexOutOfRangeException _) {} + catch (IndexOutOfRangeException _) + { + _logger.LogError("Error refreshing twitter token"); + } await RefreshCred(); } diff --git a/src/BirdsiteLive.Twitter/TwitterTweetsService.cs b/src/BirdsiteLive.Twitter/TwitterTweetsService.cs index 0df9bd4..3cb3392 100644 --- a/src/BirdsiteLive.Twitter/TwitterTweetsService.cs +++ b/src/BirdsiteLive.Twitter/TwitterTweetsService.cs @@ -115,6 +115,7 @@ namespace BirdsiteLive.Twitter } catch (HttpRequestException e) { + _logger.LogError(e, "Error retrieving timeline of {Username}; refreshing client", username); await _twitterAuthenticationInitializer.RefreshClient(request); return null; } diff --git a/src/BirdsiteLive.Twitter/TwitterUserService.cs b/src/BirdsiteLive.Twitter/TwitterUserService.cs index efed9c5..cdbc708 100644 --- a/src/BirdsiteLive.Twitter/TwitterUserService.cs +++ b/src/BirdsiteLive.Twitter/TwitterUserService.cs @@ -39,18 +39,16 @@ namespace BirdsiteLive.Twitter { JsonDocument res; + var client = await _twitterAuthenticationInitializer.MakeHttpClient(); + using var request = _twitterAuthenticationInitializer.MakeHttpRequest(new HttpMethod("GET"), endpoint.Replace("elonmusk", username)); try { - var client = await _twitterAuthenticationInitializer.MakeHttpClient(); - using (var request = _twitterAuthenticationInitializer.MakeHttpRequest(new HttpMethod("GET"), endpoint.Replace("elonmusk", username))) - { - var httpResponse = await client.SendAsync(request); - httpResponse.EnsureSuccessStatusCode(); + var httpResponse = await client.SendAsync(request); + httpResponse.EnsureSuccessStatusCode(); - var c = await httpResponse.Content.ReadAsStringAsync(); - res = JsonDocument.Parse(c); - } + var c = await httpResponse.Content.ReadAsStringAsync(); + res = JsonDocument.Parse(c); var result = res.RootElement.GetProperty("data").GetProperty("user").GetProperty("result"); return Extract(result); } @@ -70,6 +68,12 @@ namespace BirdsiteLive.Twitter // throw; //} } + catch (HttpRequestException e) + { + _logger.LogError(e, "Error retrieving user {Username}, Refreshing client", username); + await _twitterAuthenticationInitializer.RefreshClient(request); + return null; + } catch (Exception e) { _logger.LogError(e, "Error retrieving user {Username}", username);