/// <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);
            }
        }
Пример #2
0
        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");
            }
        }