using RecRoomArchive.Models.Common; using RecRoomArchive.Services; using Serilog; namespace RecRoomArchive { public class Program { public static void Main(string[] args) { var builder = WebApplication.CreateBuilder(args); builder.WebHost.UseKestrel(); Log.Logger = new LoggerConfiguration().WriteTo.Console().CreateLogger(); #region Services builder.Services.AddControllers(); builder.Services.AddOpenApi(); builder.Services.AddHttpContextAccessor(); builder.Services.AddSerilog(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); #endregion Console.Title = $"RRAC {Constants.Version}"; var app = builder.Build(); app.MapOpenApi(); app.UseSwagger(); app.UseSwaggerUI(); app.UseSerilogRequestLogging(); app.UseAuthorization(); var webSocketOptions = new WebSocketOptions { KeepAliveInterval = TimeSpan.FromMinutes(2) }; app.UseWebSockets(webSocketOptions); app.MapControllers(); app.Run(); } } }