diff --git a/EnvelopeGenerator.WebUI/EnvelopeGenerator.WebUI/Program.cs b/EnvelopeGenerator.WebUI/EnvelopeGenerator.WebUI/Program.cs index ed520420..0c0153d6 100644 --- a/EnvelopeGenerator.WebUI/EnvelopeGenerator.WebUI/Program.cs +++ b/EnvelopeGenerator.WebUI/EnvelopeGenerator.WebUI/Program.cs @@ -1,5 +1,6 @@ using EnvelopeGenerator.WebUI.Components; using DevExpress.Blazor; +using EnvelopeGenerator.WebUI.Client.Services; var builder = WebApplication.CreateBuilder(args); @@ -12,12 +13,31 @@ builder.Services.AddRazorComponents() .AddInteractiveWebAssemblyComponents(); // HttpClient for server-side components (e.g., MainLayout with FontLoader) +builder.Services.AddHttpContextAccessor(); builder.Services.AddScoped(sp => { - var httpClientFactory = sp.GetRequiredService(); - return httpClientFactory.CreateClient(); + var httpContextAccessor = sp.GetRequiredService(); + var request = httpContextAccessor.HttpContext?.Request; + + var httpClient = sp.GetRequiredService().CreateClient(); + + if (request != null) { + // Set base address to current host (e.g., https://localhost:5131) + httpClient.BaseAddress = new Uri($"{request.Scheme}://{request.Host}"); + } + + return httpClient; }); builder.Services.AddHttpClient(); +// Business Services +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddSingleton(); + // YARP Reverse Proxy builder.Services.AddReverseProxy() .LoadFromConfig(builder.Configuration.GetSection("ReverseProxy"));