/// <summary> /// Downloads json data from CDN /// </summary> /// <param name="url"></param> /// <returns></returns> public async Task <string> DownloadJSONDataAsync(string url) { var response = await _httpClient.Get(BungieClient.BungieCDNUri + url); if (response.IsSuccessStatusCode) { return(await response.Content.ReadAsStringAsync()); } else { throw new Exception(response.ReasonPhrase); } }
private async Task <BungieResponse <T> > GetData <T>(string query, string defaultWebsite = null) { _logger.Log($"Getting data from: {query}", LogType.Debug); var finalQuery = string.Empty; if (defaultWebsite != null) { finalQuery = $"{defaultWebsite}/{query}"; } else { finalQuery = BungieClient.BungiePlatformUri + query; } var response = await _httpClient.Get(finalQuery); var bungieResponse = JsonConvert.DeserializeObject <BungieResponse <T> >(await response.Content.ReadAsStringAsync()); if (bungieResponse != null) { return(bungieResponse); } else { throw new Exception("No response from bungie.net"); } }