protected override async Task <ServiceResult <object> > ReadHttpContentAsyncCore(Type objectType, HttpContent content, CancellationToken cancellationToken) { try { #if NET6_0_OR_GREATER var stream = await content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false); await using var streamScope = stream.ConfigureAwait(false); #elif NETSTANDARD2_1_OR_GREATER var stream = await content.ReadAsStreamAsync().ConfigureAwait(false); await using var streamScope = stream.ConfigureAwait(false); #else using var stream = await content.ReadAsStreamAsync().ConfigureAwait(false); #endif var deserializedContent = await m_serializer.FromStreamAsync(stream, objectType, cancellationToken).ConfigureAwait(false); if (deserializedContent is null) { return(ServiceResult.Failure(HttpServiceErrors.CreateInvalidContent("Content must not be empty."))); } return(ServiceResult.Success(deserializedContent)); } catch (ServiceSerializationException exception) { return(ServiceResult.Failure(HttpServiceErrors.CreateInvalidContent(exception.Message))); } }
public async Task EmptyJson() { await GetApiInfoInvalidResponse( _ => new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent("", Encoding.UTF8, "application/json") }, ServiceErrors.InvalidResponse, HttpServiceErrors.CreateInvalidContent("").Message); }