using System; using System.Diagnostics; namespace VAR.HttpServer.MiniServerTest { internal class Program { private static void Main(string[] args) { HttpServer httpServer = new HttpServer { Port = 3000, Handler = new HelloWorldHttpHandler(), LogDegugMessage = (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 = string.Format("MiniHTTPServer@{0}", httpServer.Port); Console.WriteLine("HTTP Server started on {0} port", httpServer.Port); httpServer.Start(); Process proc = Process.Start(string.Format("http://localhost:{0}", httpServer.Port)); } public 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 = string.Format("Hello {0}!", 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"); }); }); }); } } } }