public async Task <TEntity> HandleGetRequest <TEntity>(string requestUrl) { if (string.IsNullOrWhiteSpace(requestUrl)) { throw new ArgumentNullException(nameof(requestUrl)); } using (var request = new HttpRequestMessage(HttpMethod.Get, requestUrl)) using (var response = await _httpClient.SendAsync(request, HttpCompletionOption.ResponseHeadersRead, new CancellationToken())) { var stream = await response.Content.ReadAsStreamAsync(); if (response.IsSuccessStatusCode) { var result = StreamUtilities.DeserializeJsonFromStream <TEntity>(stream); return(result); } var content = await StreamUtilities.StreamToStringAsync(stream); throw new ApiException { StatusCode = (int)response.StatusCode, Content = content }; } }