|
|
|
@ -2,13 +2,28 @@ |
|
|
|
// Created: 2020-02-07 |
|
|
|
// Created: 2020-02-07 |
|
|
|
// Copyright(c) 2020 SimonG. All Rights Reserved. |
|
|
|
// Copyright(c) 2020 SimonG. All Rights Reserved. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
using System.Threading.Tasks; |
|
|
|
|
|
|
|
using GBase.Server.Interfaces; |
|
|
|
|
|
|
|
using Microsoft.AspNetCore; |
|
|
|
|
|
|
|
using Microsoft.AspNetCore.Hosting; |
|
|
|
|
|
|
|
|
|
|
|
namespace GBase.Server |
|
|
|
namespace GBase.Server |
|
|
|
{ |
|
|
|
{ |
|
|
|
class Program |
|
|
|
class Program |
|
|
|
{ |
|
|
|
{ |
|
|
|
static void Main(string[] args) |
|
|
|
static async Task Main(string[] args) //TODO: Add try-catch, initialize logging |
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
IGBaseServerSettings serverSettings = new GBaseServerSettings(); |
|
|
|
|
|
|
|
await serverSettings.ParseArguments(args); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IWebHost host = CreateWebHostBuilder(serverSettings).Build(); |
|
|
|
|
|
|
|
await host.RunAsync(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private static IWebHostBuilder CreateWebHostBuilder(IGBaseServerSettings serverSettings) => |
|
|
|
|
|
|
|
WebHost.CreateDefaultBuilder() |
|
|
|
|
|
|
|
.UseKestrel(options => { options.Listen(serverSettings.IpAddress, serverSettings.Port); }) |
|
|
|
|
|
|
|
.UseUrls($"{serverSettings.Protocol.GetProtocolString()}{serverSettings.IpAddress}:{serverSettings.Port}") |
|
|
|
|
|
|
|
.UseStartup<Startup>(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|