From 0d5ab9fc9add9286bebab95d1a0206972b3b2e6b Mon Sep 17 00:00:00 2001 From: Simon <63975668+Simyon264@users.noreply.github.com> Date: Thu, 23 May 2024 16:59:36 +0200 Subject: [PATCH] Invert if for uhhh yeah --- ReplayBrowser/Helpers/Ss14ApiHelper.cs | 54 +++++++++++++------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/ReplayBrowser/Helpers/Ss14ApiHelper.cs b/ReplayBrowser/Helpers/Ss14ApiHelper.cs index 6fec18f..18d5993 100644 --- a/ReplayBrowser/Helpers/Ss14ApiHelper.cs +++ b/ReplayBrowser/Helpers/Ss14ApiHelper.cs @@ -16,40 +16,40 @@ public Ss14ApiHelper(IMemoryCache cache) public async Task FetchPlayerDataFromGuid(Guid guid) { - if (!_cache.TryGetValue(guid.ToString(), out PlayerData? playerKey)) + if (_cache.TryGetValue(guid.ToString(), out PlayerData? playerKey)) + return playerKey; + + playerKey = new PlayerData() { - playerKey = new PlayerData() - { - PlayerGuid = guid - }; + PlayerGuid = guid + }; - HttpResponseMessage response = null; - try + HttpResponseMessage response = null; + try + { + var httpClient = new HttpClient(); + response = await httpClient.GetAsync($"https://central.spacestation14.io/auth/api/query/userid?userid={playerKey.PlayerGuid}"); + response.EnsureSuccessStatusCode(); + var responseString = await response.Content.ReadAsStringAsync(); + var username = JsonSerializer.Deserialize(responseString).userName; + playerKey.Username = username; + } + catch (Exception e) + { + Log.Error("Unable to fetch username for player with GUID {PlayerGuid}: {Error}", playerKey.PlayerGuid, e.Message); + if (e.Message.Contains("'<' is an")) // This is a hacky way to check if we got sent a website. { - var httpClient = new HttpClient(); - response = await httpClient.GetAsync($"https://central.spacestation14.io/auth/api/query/userid?userid={playerKey.PlayerGuid}"); - response.EnsureSuccessStatusCode(); - var responseString = await response.Content.ReadAsStringAsync(); - var username = JsonSerializer.Deserialize(responseString).userName; - playerKey.Username = username; + // Probably got sent a website? Log full response. + Log.Error("Website might have been sent: {Response}", response?.Content.ReadAsStringAsync().Result); } - catch (Exception e) - { - Log.Error("Unable to fetch username for player with GUID {PlayerGuid}: {Error}", playerKey.PlayerGuid, e.Message); - if (e.Message.Contains("'<' is an")) // This is a hacky way to check if we got sent a website. - { - // Probably got sent a website? Log full response. - Log.Error("Website might have been sent: {Response}", response?.Content.ReadAsStringAsync().Result); - } - playerKey.Username = "Unable to fetch username (API error)"; - } + playerKey.Username = "Unable to fetch username (API error)"; + } - var cacheEntryOptions = new MemoryCacheEntryOptions() - .SetAbsoluteExpiration(TimeSpan.FromMinutes(60)); + var cacheEntryOptions = new MemoryCacheEntryOptions() + .SetAbsoluteExpiration(TimeSpan.FromMinutes(60)); - _cache.Set(guid.ToString(), playerKey, cacheEntryOptions); - } + _cache.Set(guid.ToString(), playerKey, cacheEntryOptions); return playerKey; }