HAKAN'S REQUIREMENT - Refactor API base URL configuration structure
Replaced ApiBaseUrl and DataApiBaseUrl with BaseUrl, ApiDefaultUrl, and service-specific configuration sections (AuthService, UserManagerService, DbFirstService). Updated AppSettings and all code references to use the new structure. Revised logic for HTTP client base URL selection to prefer service-specific settings. Updated appsettings files and added an example configuration for clarity and maintainability.
This commit is contained in:
@@ -33,25 +33,28 @@ static HttpClient CreateHttpClientWithCookies(CookieContainer cookieContainer, s
|
||||
builder.Services.AddScoped<IAuthApiClient>(sp =>
|
||||
{
|
||||
var cc = sp.GetRequiredService<CookieContainer>();
|
||||
var client = CreateHttpClientWithCookies(cc, appSettings.ApiBaseUrl);
|
||||
var authBaseUrl = !string.IsNullOrWhiteSpace(appSettings.AuthService.BaseUrl)
|
||||
? appSettings.AuthService.BaseUrl
|
||||
: appSettings.BaseUrl;
|
||||
var client = CreateHttpClientWithCookies(cc, authBaseUrl);
|
||||
return new AuthApiClient(client, sp.GetRequiredService<AuthService>(), cc);
|
||||
});
|
||||
|
||||
var dataApiBaseUrl = !string.IsNullOrWhiteSpace(appSettings.DataApiBaseUrl)
|
||||
? appSettings.DataApiBaseUrl
|
||||
: appSettings.ApiBaseUrl;
|
||||
var apiDefaultUrl = !string.IsNullOrWhiteSpace(appSettings.ApiDefaultUrl)
|
||||
? appSettings.ApiDefaultUrl
|
||||
: appSettings.BaseUrl;
|
||||
|
||||
builder.Services.AddScoped<ICatalogApiClient>(sp =>
|
||||
new CatalogApiClient(CreateHttpClientWithCookies(sp.GetRequiredService<CookieContainer>(), dataApiBaseUrl)));
|
||||
new CatalogApiClient(CreateHttpClientWithCookies(sp.GetRequiredService<CookieContainer>(), apiDefaultUrl)));
|
||||
|
||||
builder.Services.AddScoped<IDashboardApiClient>(sp =>
|
||||
new DashboardApiClient(CreateHttpClientWithCookies(sp.GetRequiredService<CookieContainer>(), dataApiBaseUrl)));
|
||||
new DashboardApiClient(CreateHttpClientWithCookies(sp.GetRequiredService<CookieContainer>(), apiDefaultUrl)));
|
||||
|
||||
builder.Services.AddScoped<IMassDataApiClient>(sp =>
|
||||
new MassDataApiClient(CreateHttpClientWithCookies(sp.GetRequiredService<CookieContainer>(), dataApiBaseUrl)));
|
||||
new MassDataApiClient(CreateHttpClientWithCookies(sp.GetRequiredService<CookieContainer>(), apiDefaultUrl)));
|
||||
|
||||
builder.Services.AddScoped<ILayoutApiClient>(sp =>
|
||||
new LayoutApiClient(CreateHttpClientWithCookies(sp.GetRequiredService<CookieContainer>(), dataApiBaseUrl)));
|
||||
new LayoutApiClient(CreateHttpClientWithCookies(sp.GetRequiredService<CookieContainer>(), apiDefaultUrl)));
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user