Exemplo n.º 1
0
        public async Task <T> GetStreamAsync <T>(string url)
        {
            var cancelToken = new CancellationTokenSource();

            using (var request = new HttpRequestMessage(HttpMethod.Get, url))
                using (var response = await Client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead, cancelToken.Token))
                {
                    var stream = await response.Content.ReadAsStreamAsync();

                    if (response.IsSuccessStatusCode)
                    {
                        return(StreamHandler.DeserializeJsonFromStream <T>(stream));
                    }

                    var content = await StreamHandler.StreamToStringAsync(stream);

                    throw new ApiException
                          {
                              StatusCode = (int)response.StatusCode,
                              Content    = content
                          };
                }
        }