Я немного запутался в том, как правильно десериализовать полезную нагрузку Gziped Json из экземпляра HttpClient.Использование сжатого JSON с использованием HttpClient и Jil
До сих пор я делаю следующее, но кажется неправильным. По крайней мере, слишком сложно. Не могу ли я передать поток Джилу? Разве HttpClient не может распаковать поток?
var client = new HttpClient();
var userEndPoint = new Uri(baseUri, "api/login");
var request = new HttpRequestMessage();
request.RequestUri = userEndPoint;
request.Method = HttpMethod.Get;
var response = _client.SendAsync(request).Result;
var userGzipByteArray = response.Content.ReadAsByteArrayAsync().Result;
var outStream = new MemoryStream();
using (var gzStream = new GZipStream(userGzipByteArray , CompressionMode.Decompress))
{
gzStream.CopyTo(outStream);
}
var userByteArray = outStream.ToArray();
var userJson = userByteArray .ConvertToString();
var user = JSON.Deserialize<User>(userJson , Jil.Options.ISO8601PrettyPrintIncludeInherited);