- Cleaned up whitespace in Directory.Build.props and Directory.Packages.props for consistency. - Reformatted project file references in PnvPanel.Api.csproj for better clarity. - Enhanced code readability in various endpoint files by adjusting line breaks and indentation. - Standardized method signatures and improved formatting in ResultExtensions and multiple endpoint classes for better maintainability.
32 lines
1.0 KiB
C#
32 lines
1.0 KiB
C#
using System.Net.Http.Headers;
|
|
using System.Net.Http.Json;
|
|
using System.Text.Json;
|
|
|
|
namespace PnvPanel.IntegrationTests.TestSupport;
|
|
|
|
public static class HttpClientJsonExtensions
|
|
{
|
|
public static readonly JsonSerializerOptions JsonOptions = new(JsonSerializerDefaults.Web);
|
|
|
|
public static void UseBearerToken(this HttpClient client, string accessToken) =>
|
|
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(
|
|
"Bearer",
|
|
accessToken
|
|
);
|
|
|
|
public static async Task<T?> ReadAsAsync<T>(this HttpResponseMessage response) =>
|
|
await response.Content.ReadFromJsonAsync<T>(JsonOptions);
|
|
|
|
public static Task<HttpResponseMessage> PostJsonAsync(
|
|
this HttpClient client,
|
|
string url,
|
|
object body
|
|
) => client.PostAsJsonAsync(url, body, JsonOptions);
|
|
|
|
public static Task<HttpResponseMessage> SendPutJsonAsync(
|
|
this HttpClient client,
|
|
string url,
|
|
object body
|
|
) => client.PutAsJsonAsync(url, body, JsonOptions);
|
|
}
|