mirror of
https://github.com/simtactics/mysimulation.git
synced 2025-03-15 06:41:21 +00:00
- NioTSO client isn't needed because we're using RayLib - Added FreeSO's API server to handle most backend operations
53 lines
1.5 KiB
C#
Executable file
53 lines
1.5 KiB
C#
Executable file
using FSO.Server.Common;
|
|
using Microsoft.AspNetCore;
|
|
using Microsoft.AspNetCore.Hosting;
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
namespace FSO.Server.Api.Core
|
|
{
|
|
public class Program
|
|
{
|
|
public static void Main(string[] args)
|
|
{
|
|
var host = CreateWebHostBuilder(args).Build();
|
|
host.Run();
|
|
}
|
|
|
|
public static IAPILifetime RunAsync(string[] args)
|
|
{
|
|
var host = CreateWebHostBuilder(args).Build();
|
|
var lifetime = new APIControl((IApplicationLifetime)host.Services.GetService(typeof(IApplicationLifetime)));
|
|
host.Start();
|
|
return lifetime;
|
|
}
|
|
|
|
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
|
|
WebHost.CreateDefaultBuilder(args)
|
|
.UseUrls(args[0])
|
|
.ConfigureLogging(x =>
|
|
{
|
|
x.SetMinimumLevel(LogLevel.None);
|
|
})
|
|
.UseKestrel(options =>
|
|
{
|
|
options.Limits.MaxRequestBodySize = 500000000;
|
|
})
|
|
.SuppressStatusMessages(true)
|
|
.UseStartup<Startup>();
|
|
}
|
|
|
|
public class APIControl : IAPILifetime
|
|
{
|
|
private IApplicationLifetime Lifetime;
|
|
|
|
public APIControl(IApplicationLifetime lifetime)
|
|
{
|
|
Lifetime = lifetime;
|
|
}
|
|
|
|
public void Stop()
|
|
{
|
|
Lifetime.StopApplication();
|
|
}
|
|
}
|
|
}
|