using System; using System.Diagnostics; namespace VAR.HttpServer.MiniServerTest { public static class Program { private static void Main() { HttpServer httpServer = new HttpServer { Port = 3000, Handler = new HelloWorldHttpHandler(), LogDebugMessage = (msg) => Console.WriteLine("DEBUG: {0}", msg), LogException = (ex) => { Console.WriteLine("!!!!! Exception !!!!"); Console.WriteLine("Message: {0}", ex.Message); Console.WriteLine("StackTrace: {0}", ex.StackTrace); } }; Console.Title = $"MiniHTTPServer@{httpServer.Port}"; Console.WriteLine("HTTP Server started on {0} port", httpServer.Port); httpServer.Start(); Process.Start($"http://localhost:{httpServer.Port}"); } private class HelloWorldHttpHandler : IHttpHandler { public void HandleRequest(HttpProcessor p) { Console.WriteLine("Responding to {0} requesting: {1}", p.Socket.Client.RemoteEndPoint, p.HttpResource); // Process string greetedName = "World"; if (p.HttpParams.ContainsKey("txtName")) { greetedName = p.HttpParams["txtName"]; } if (p.HttpParams.ContainsKey("btnReset")) { greetedName = "World"; } string strGreeting = $"Hello {greetedName}!"; // Render p.ResponseSuccess(); p.WriteDocument(strGreeting, writeBody: () => { p.WriteHeading2(strGreeting); p.WriteForm("post", "", () => { p.WriteParagraph(null, writeBody: () => { p.WriteTextbox("txtName", greetedName); }); p.WriteParagraph(null, writeBody: () => { p.WriteButton("btnRefresh", "Refresh"); p.WriteButton("btnReset", "Reset"); }); }); }); } } } }