using System.Net.Http.Json; namespace BuildingBlocks.Web; public static class HttpClientExtensions { public static async Task PostAsJsonAsync( this HttpClient httpClient, string requestUri, TRequest request, CancellationToken cancellationToken = default) { var responseMessage = await httpClient.PostAsJsonAsync(requestUri, request, cancellationToken: cancellationToken); var result = await responseMessage.Content.ReadFromJsonAsync(cancellationToken: cancellationToken); return result; } public static async Task PutAsJsonAsync( this HttpClient httpClient, string requestUri, TRequest request, CancellationToken cancellationToken = default) { var responseMessage = await httpClient.PutAsJsonAsync(requestUri, request, cancellationToken: cancellationToken); var result = await responseMessage.Content.ReadFromJsonAsync(cancellationToken: cancellationToken); return result; } }