예제 #1
0
        public void MicroHttpServer_NoConfigation_returnsError()
        {
            var server = new MicroHttpServer(null);
            var res    = server.Start();

            Assert.IsFalse(res.Success);

            server.Stop();
        }
 protected override void WorkerLoop()
 {
     try
     {
         if (!_webServer.IsRunning)
         {
             _webServer.Start();
         }
         OnStart();
         IsWorking = true;
     }
     catch (Exception ex)
     {
         _logger.LogError(ex, $"Exception caught starting worker loop [workerId:{_workerId}]");
         Stop();
     }
 }
예제 #3
0
        static void Main(string[] args)
        {
            ConsoleKeyInfo cki;

            var loggerFactory = LoggerFactory.Create(builder =>
            {
                builder
                .SetMinimumLevel(LogLevel.Debug)
                .AddFilter("Microsoft", LogLevel.Warning)
                .AddFilter("System", LogLevel.Warning)
                .AddConsole();
            });

            _logger = loggerFactory.CreateLogger <Program>();
            _logger.LogInformation("Preparing the MicroWebServer...");

            var microWebServer = new MicroHttpServer(
                requestResponderMethod: ProcessWebRequest,
                routes: new List <string>()
            {
                "hello/"
            },
                host: "localhost",
                port: 8080,
                responseType: ResponseTypes.Text,
                utf8: true,
                allowedOrigin: "*",
                logger: _logger
                );

            microWebServer.Start();

            while (true)
            {
                Console.WriteLine("\nCTRL+C to stop the MicroWebServer and exit.");
                cki = Console.ReadKey(true);
                if (cki.Key == ConsoleKey.C)
                {
                    break;
                }
            }
        }