// Author: Gockner, Simon // Created: 2020-02-07 // 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 { class Program { 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(); } }