refactor(econnect-client): Gespeicherten HttpClient entfernen und pro Anfrage erstellen

- Feld „_http“ durch „_httpFactory“ ersetzt, um die Erstellung von HttpClient zu verzögern
- Eigenschaft „Http“ hinzugefügt, um einen neuen Client aus der Factory abzurufen
- Alle Verwendungen aktualisiert, um die Eigenschaft „Http“ anstelle der gespeicherten Instanz zu verwenden
This commit is contained in:
Developer 02 2025-08-14 17:27:28 +02:00
parent 4b8217bb80
commit 9117a23be3

View File

@ -6,17 +6,19 @@ namespace Leanetec.EConnect.Infrastructure;
public class EConnectClient<TError> : IEConnectClient<TError> where TError : class
{
private readonly HttpClient _http;
private readonly IHttpClientFactory _httpFactory;
public EConnectClient(IHttpClientFactory factory)
private HttpClient Http => _httpFactory.CreateEConnectClient();
public EConnectClient(IHttpClientFactory httpFactory)
{
_http = factory.CreateEConnectClient();
_httpFactory = httpFactory;
}
public async Task<Response<TData, TError>> GetAsync<TData>(string? route = null, CancellationToken cancel = default)
where TData : class
{
var res = await _http.GetAsync(route, cancel);
var res = await Http.GetAsync(route, cancel);
if (res.IsSuccessStatusCode)
{
@ -33,7 +35,7 @@ public class EConnectClient<TError> : IEConnectClient<TError> where TError : cl
public async Task<Response<IAsyncEnumerable<TData?>, TError>> GetListAsAsyncEnumerable<TData>(string? route = null, CancellationToken cancel = default)
where TData : class
{
var res = await _http.GetAsync(route, cancel);
var res = await Http.GetAsync(route, cancel);
if (res.IsSuccessStatusCode)
{