From 2877d62f9545ab1b2fff20ac0266b164ac33b553 Mon Sep 17 00:00:00 2001 From: TekH Date: Fri, 15 Aug 2025 15:15:29 +0200 Subject: [PATCH] create common AddQueryString method --- .../EConnectClient.cs | 27 ++++++++----------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/src/Leanetec.EConnect.Infrastructure/EConnectClient.cs b/src/Leanetec.EConnect.Infrastructure/EConnectClient.cs index 1e88a81..5b95425 100644 --- a/src/Leanetec.EConnect.Infrastructure/EConnectClient.cs +++ b/src/Leanetec.EConnect.Infrastructure/EConnectClient.cs @@ -19,8 +19,7 @@ public class EConnectClient : IEConnectClient where TError : cl LazyHttp = new Lazy(httpFactory.CreateEConnectClient); } - public async Task> GetAsync(string? route = null, object? queryParams = null, CancellationToken cancel = default) - where TData : class + private string? AddQueryString(string? route = null, object? queryParams = null) { // add global query strings if (_options.DefaultQueryStrings is not null) @@ -30,6 +29,14 @@ public class EConnectClient : IEConnectClient where TError : cl if (queryParams is not null) route = route.AddQueryString(queryParams.ToPropertyDictionary()); + return route; + } + + public async Task> GetAsync(string? route = null, object? queryParams = null, CancellationToken cancel = default) + where TData : class + { + route = AddQueryString(route, queryParams); + var res = await Http.GetAsync(route, cancel); if (res.IsSuccessStatusCode) @@ -57,13 +64,7 @@ public class EConnectClient : IEConnectClient where TError : cl public async Task, TError>> GetListAsAsyncEnumerable(string? route = null, object? queryParams = null, CancellationToken cancel = default) where TData : class { - // add global query strings - if (_options.DefaultQueryStrings is not null) - route = route.AddQueryString(_options.DefaultQueryStrings); - - // add query strings - if (queryParams is not null) - route = route.AddQueryString(queryParams.ToPropertyDictionary()); + route = AddQueryString(route, queryParams); var res = await Http.GetAsync(route, cancel); @@ -92,13 +93,7 @@ public class EConnectClient : IEConnectClient where TError : cl public async Task> PostAsync(string? route = null, object? queryParams = null, CancellationToken cancel = default) where TData : class { - // add global query strings - if (_options.DefaultQueryStrings is not null) - route = route.AddQueryString(_options.DefaultQueryStrings); - - // add query strings - if (queryParams is not null) - route = route.AddQueryString(queryParams.ToPropertyDictionary()); + route = AddQueryString(route, queryParams); var res = await Http.PostAsync(route, null, cancel);