| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | using System;using System.Threading.Tasks;using Comal.Classes;using Comal.Stores;using InABox.IPC;using InABox.Clients;using InABox.Configuration;using InABox.Core;using InABox.Wpf.Reports;using InABox.Rpc;using PRS.Shared;using PRSServices;namespace PRSServer;public class WebEngine : Engine<WebServerProperties>{    private WebListener listener;    public override void Configure(Server server)    {        base.Configure(server);        Logger.Send(LogType.Information, "", "Configuring...");    }    public override async void Run()    {        Logger.Send(LogType.Information, "", "Starting..");        if (string.IsNullOrWhiteSpace(Properties.Server))        {            Logger.Send(LogType.Error, "", "Server is blank!");            return;        }        InitialiseConnection(Properties.Server, Platform.WebEngine);                Logger.Send(LogType.Information, "", "Registering Classes");        StoreUtils.RegisterClasses();        CoreUtils.RegisterClasses();        ComalUtils.RegisterClasses();        PRSSharedUtils.RegisterClasses();        ReportUtils.RegisterClasses();        ConfigurationUtils.RegisterClasses();                try        {            listener?.Stop();            listener = new WebListener(new WebHandlerProperties(Properties.MaxFileSize, (ulong)Properties.LoginExpiry * 3600));            listener.InitHTTPS((ushort)Properties.ListenPort, CertificateFileName());            Logger.Send(LogType.Information, "", "Starting Web Listener on port " + Properties.ListenPort);            listener.Start();        }        catch (Exception eListen)        {            Logger.Send(LogType.Error, ClientFactory.UserID, eListen.Message);        }    }    public override void Stop()    {        Logger.Send(LogType.Information, "", "Stopping..");        listener?.Stop();    }    private string CertificateFileName() =>        !string.IsNullOrWhiteSpace(Properties.CertificateFile)        ? Properties.CertificateFile        : CertificateEngine.CertificateFile;}
 |