Files
Examples/GerstITS.Examples.Api/Program.cs
T

50 lines
2.0 KiB
C#

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
}