public async Task <Response <Horse> > GetHorseAsync(CancellationToken cancellationToken = default) { using var message = CreateGetHorseRequest(); await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); switch (message.Response.Status) { case 200: { Horse value = default; using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false); if (document.RootElement.ValueKind == JsonValueKind.Null) { value = null; } else { value = Horse.DeserializeHorse(document.RootElement); } return(Response.FromValue(value, message.Response)); }