mirror of
https://github.com/meysamhadeli/booking-microservices.git
synced 2026-04-17 00:16:28 +08:00
37 lines
1.2 KiB
C#
37 lines
1.2 KiB
C#
using System.Net.Http.Json;
|
|
|
|
namespace BuildingBlocks.Web;
|
|
|
|
public static class HttpClientExtensions
|
|
{
|
|
public static async Task<TResponse>
|
|
PostAsJsonAsync<TRequest, TResponse>(
|
|
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<TResponse>(cancellationToken: cancellationToken);
|
|
|
|
return result;
|
|
}
|
|
|
|
public static async Task<TResponse?>
|
|
PutAsJsonAsync<TRequest, TResponse>(
|
|
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<TResponse>(cancellationToken: cancellationToken);
|
|
|
|
return result;
|
|
}
|
|
}
|