Openstack HttpClient migration

This commit is contained in:
Marcelo C.
2025-05-23 10:37:42 -03:00
parent 69f8acdfe4
commit 132508545c
10 changed files with 828 additions and 654 deletions
@@ -60,6 +60,17 @@ public class JsonWebHelperHttpClient(HttpClient httpClient)
return Task.FromResult(request);
}
/// <summary>
/// Centralized method to prepare a request with the given URL and method setting useragent
/// </summary>
/// <param name="url">Url</param>
/// <param name="method">Method</param>
public virtual HttpRequestMessage CreateRequest(string url, string? method = null)
{
var request = new HttpRequestMessage(method != null ? HttpMethod.Parse(method) : HttpMethod.Get, url);
request.Headers.Add("User-Agent", UserAgent);
return request;
}
/// <summary>
/// Performs a multipart post and parses the response as JSON
/// </summary>
@@ -156,7 +167,7 @@ public class JsonWebHelperHttpClient(HttpClient httpClient)
/// <param name="req">Request object</param>
/// <param name="cancellationToken">Cancellation Token</param>
/// <typeparam name="T">Destination Type</typeparam>
protected virtual async Task<T> ReadJsonResponseAsync<T>(HttpRequestMessage req, CancellationToken cancellationToken)
public virtual async Task<T> ReadJsonResponseAsync<T>(HttpRequestMessage req, CancellationToken cancellationToken)
{
using var resp = await GetResponseAsync(req, HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false);
return await ReadJsonResponseAsync<T>(resp, cancellationToken).ConfigureAwait(false);