private async Task RefreshServerList(CancellationToken cancel) { AllServers.Clear(); Status = RefreshListStatus.Updating; try { using var response = await _http.GetAsync(ConfigConstants.HubUrl + "api/servers", cancel); response.EnsureSuccessStatusCode(); var respStr = await response.Content.ReadAsStringAsync(cancel); var entries = JsonConvert.DeserializeObject <List <ServerListEntry> >(respStr); Status = RefreshListStatus.Updated; AllServers.AddRange(entries.Select(e => new ServerEntryViewModel(_windowVm, e.Address) { FallbackName = e.Name })); } catch (TaskCanceledException) { Status = RefreshListStatus.NotUpdated; } catch (Exception e) { Log.Error(e, "Failed to fetch server list due to exception."); Status = RefreshListStatus.Error; } }
private async Task RefreshServerList() { AllServers.Clear(); Status = RefreshListStatus.Updating; try { var response = await Global.GlobalHttpClient.GetStringAsync(HubUrl + "api/servers"); var entries = JsonConvert.DeserializeObject <List <ServerListEntry> >(response); Status = RefreshListStatus.Updated; AllServers.AddRange(entries.Select(e => new ServerEntryViewModel(_statusCache, _cfg, _updater, e.Address) { FallbackName = e.Name })); } catch (Exception e) { Console.WriteLine("Failed to fetch server list due to exception:\n{0}", e); Status = RefreshListStatus.Error; } }
private async Task RefreshServerList(CancellationToken cancel) { AllServers.Clear(); Status = RefreshListStatus.Updating; try { using var response = await Global.GlobalHttpClient.GetAsync(ConfigConstants.HubUrl + "api/servers", cancel); response.EnsureSuccessStatusCode(); // TODO: .NET 5 has an overload of ReadAsStringAsync with cancellation support. var respStr = await response.Content.ReadAsStringAsync(); cancel.ThrowIfCancellationRequested(); var entries = JsonConvert.DeserializeObject <List <ServerListEntry> >(respStr); Status = RefreshListStatus.Updated; AllServers.AddRange(entries.Select(e => new ServerEntryViewModel(_statusCache, _cfg, _updater, _loginMgr, e.Address) { FallbackName = e.Name })); } catch (TaskCanceledException) { Status = RefreshListStatus.NotUpdated; } catch (Exception e) { Log.Error(e, "Failed to fetch server list due to exception."); Status = RefreshListStatus.Error; } }