using System.Diagnostics; using GerstITS.Examples.Api.Endpoints; using GerstITS.Examples.Api.ExceptionHandling; using GerstITS.Web.Api; using GerstITS.Web.Api.Hosting; using GerstITS.Web.Api.Swagger; using Serilog; namespace GerstITS.Examples.Api; public class Program { #region Methods public static void Main(string[] args) { HostingStartup.Use(args) .Host() .UseSerilog((context, configuration) => { configuration.ReadFrom.Configuration(context.Configuration); if (Common.ApplicationEnvironment.IsEfCoreActionStarted) Debug.WriteLine("==========>>>>>>> Do NOT start Application!!!!"); }) .Services() .Build() .IfProduction(app => app.UsePreconfiguredHsts()) .UseGlobalExceptionHandling() .IfDevelopment(app => app.UseDeveloperExceptionPage() .UsePreconfiguredSwagger()) .UsePreconfiguredCors() .UsePreconfiguredForwardedHeaders() .UsePreconfiguredHttpsRedirection() .UseAuthentication() .UseAuthorization() .UseRouting() .UseSession() .UseEndpoints(endpoints => { endpoints.MapControllers(); endpoints.MapEndpoints(); }) .UseRewriteUnknownPathsToIndexSite(ApplicationEnvironment.WebApi.BaseUrl) .UseSystemIndependentStaticFiles() .UseSerilogRequestLogging() .Run(); } #endregion }