57 lines
2.3 KiB
C#
57 lines
2.3 KiB
C#
using perubahan;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
try
|
|
{
|
|
Console.WriteLine($"Kementerian ATR/BPN Kanwil Riau");
|
|
Console.WriteLine($"Agen Perubahan Server Versi {VerNum}");
|
|
Console.Write($"Loading settings file...");
|
|
if (!File.Exists(Path.Combine(AppContext.BaseDirectory, "settings.json")))
|
|
{
|
|
Console.WriteLine("No settings file found. Make sure settings.json exists at BaseDirectory.");
|
|
WriteLog("No default settings file found. Make sure settings.json exists at BaseDirectory.");
|
|
return;
|
|
}
|
|
string SettingsJson = File.ReadAllText(Path.Combine(AppContext.BaseDirectory, "settings.json"));
|
|
Settings = JsonNode.Parse(SettingsJson) ?? JsonNode.Parse("{}")!;
|
|
Console.WriteLine($"Done.");
|
|
Console.Write($"Preparing database connection string... ");
|
|
SqlConnectionStringBuilder CSBuilder = new ()
|
|
{
|
|
DataSource = (string)Settings["database"]!["datasource"]! ?? "",
|
|
UserID = (string)Settings["database"]!["user"]! ?? "",
|
|
Password = (string)Settings["database"]!["pass"]! ?? "",
|
|
InitialCatalog = (string)Settings["database"]!["initialcatalog"]! ?? "",
|
|
Encrypt = SqlConnectionEncryptOption.Mandatory,
|
|
TrustServerCertificate = true
|
|
};
|
|
CS = CSBuilder.ConnectionString;
|
|
Console.WriteLine($"Done.");
|
|
await UpdateCache();
|
|
Console.Write($"Configuring Kestrel Backend... ");
|
|
IWebHost host = new WebHostBuilder()
|
|
.UseKestrel(options => {
|
|
options.ListenAnyIP(443, opt =>{
|
|
opt.Protocols = Microsoft.AspNetCore.Server.Kestrel.Core.HttpProtocols.Http1AndHttp2;
|
|
opt.UseHttps(Path.Combine(AppContext.BaseDirectory,"origin.pfx"));
|
|
});
|
|
options.Limits.MaxRequestBodySize = 104857600;
|
|
})
|
|
.UseContentRoot(AppContext.BaseDirectory)
|
|
.Configure(app=>{
|
|
app
|
|
.UseMiddleware<ErrorHandling>()
|
|
.UseMiddleware<CancellationTokenSourceLinker>()
|
|
.UseMiddleware<DomainNormalize>()
|
|
.UseMiddleware<AuthCheck>()
|
|
.UseDefaultFiles()
|
|
.Map("/api",APIHandler.Handle)
|
|
.Map("/auth",Auth.Handle)
|
|
.UseStaticFiles();
|
|
})
|
|
.Build();
|
|
host.Run();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
WriteLog(ex, "Program.cs");
|
|
} |