123456789101112131415161718192021222324252627282930313233343536373839 |
- using System.Net;
- using System.Security.Cryptography.X509Certificates;
- using GenHTTP.Api.Infrastructure;
- using GenHTTP.Engine;
- using GenHTTP.Modules.Practices;
- namespace InABox.API
- {
- public static class RestListener
- {
- private static IServerHost? _host;
- public static X509Certificate2? Certificate { get; private set; }
- public static void Start()
- {
- _host?.Start();
- }
- public static void Stop()
- {
- _host?.Stop();
- }
- public static void Init(ushort port, X509Certificate2? cert)
- {
- _host = Host.Create();
-
- _host.Handler(new RestHandlerBuilder()).Defaults().Backlog(1024);
-
- Certificate = cert;
- RestService.IsHTTPS = cert != null;
- if (cert != null)
- _host?.Bind(IPAddress.Any, port, cert);
- else
- _host?.Bind(IPAddress.Any, port);
- }
- }
- }
|