2025-06-12 17:58:50 +02:00
|
|
|
|
using Microsoft.AspNetCore.Localization;
|
2024-08-17 16:38:40 +02:00
|
|
|
|
using System.Globalization;
|
|
|
|
|
|
using Vegasco.WebApi.Endpoints;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Vegasco.WebApi.Common;
|
|
|
|
|
|
|
|
|
|
|
|
internal static class StartupExtensions
|
|
|
|
|
|
{
|
|
|
|
|
|
internal static WebApplication ConfigureServices(this WebApplicationBuilder builder)
|
|
|
|
|
|
{
|
2024-12-28 17:01:18 +01:00
|
|
|
|
builder.AddServiceDefaults();
|
|
|
|
|
|
|
2024-08-17 16:38:40 +02:00
|
|
|
|
builder.Configuration.AddEnvironmentVariables("Vegasco_");
|
|
|
|
|
|
|
2024-12-28 17:01:18 +01:00
|
|
|
|
builder.AddWebApiServices();
|
2024-08-17 16:38:40 +02:00
|
|
|
|
|
|
|
|
|
|
WebApplication app = builder.Build();
|
|
|
|
|
|
return app;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
internal static WebApplication ConfigureRequestPipeline(this WebApplication app)
|
|
|
|
|
|
{
|
|
|
|
|
|
app.UseRequestLocalization(o =>
|
|
|
|
|
|
{
|
|
|
|
|
|
o.SupportedCultures =
|
|
|
|
|
|
[
|
|
|
|
|
|
new CultureInfo("en")
|
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
|
|
o.SupportedUICultures = o.SupportedCultures;
|
|
|
|
|
|
|
|
|
|
|
|
CultureInfo defaultCulture = o.SupportedCultures[0];
|
|
|
|
|
|
o.DefaultRequestCulture = new RequestCulture(defaultCulture);
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
app.UseHttpsRedirection();
|
|
|
|
|
|
|
|
|
|
|
|
app.MapHealthChecks("/health");
|
|
|
|
|
|
|
|
|
|
|
|
app.UseAuthentication();
|
|
|
|
|
|
app.UseAuthorization();
|
|
|
|
|
|
|
|
|
|
|
|
app.MapEndpoints();
|
|
|
|
|
|
|
|
|
|
|
|
if (app.Environment.IsDevelopment())
|
|
|
|
|
|
{
|
2025-06-12 17:58:50 +02:00
|
|
|
|
app.MapOpenApi("/swagger/{documentName}/swagger.json");
|
2024-08-17 16:38:40 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return app;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|