public virtual void OnHttpRequest(EmbeddedWebServer server, HttpListenerContext context)
        {
            HttpListenerRequest request = context.Request;

            // Obtain a response object.
            HttpListenerResponse response = context.Response;

            var resourcePath = context.Request.Url.LocalPath;

            resourcePath = resourcePath == "/" ? "/Index.html" : resourcePath;
            var      resourceName = "SuperEmbeddedWebServer.WebContent" + resourcePath.Replace('/', '.');
            Assembly thisAssembly = Assembly.GetExecutingAssembly();

            string resourceText = string.Empty;

            byte[] resourceBuffer = null;
            using (Stream stream = thisAssembly.GetManifestResourceStream(resourceName))
                using (MemoryStream ms = new MemoryStream())
                {
                    if (stream != null)
                    {
                        stream.CopyTo(ms);
                        resourceBuffer = ms.ToArray();
                    }
                }

            var filePath = Path.Combine(LocalWebRoot, resourcePath.Substring(1));

            if (resourceBuffer != null)
            {
                string ext    = Path.GetExtension(resourcePath);
                string type   = contentTypes[ext];
                var    buffer = resourceBuffer;
                response.ContentType = type;

                response.ContentLength64 = buffer.Length;
                response.OutputStream.Write(buffer, 0, buffer.Length);
                response.OutputStream.Close();
            }
            else
            {
                var buffer = Encoding.UTF8.GetBytes(String.Format("File not found {0}", filePath));
                response.ContentLength64 = buffer.Length;
                response.OutputStream.Write(buffer, 0, buffer.Length);
                response.OutputStream.Close();
            }
        }
 public virtual void OnWebSocketConnection(EmbeddedWebServer server, WebSocketSession session)
 {
 }
 public virtual void OnWebSocketMessageReceived(EmbeddedWebServer server, WebSocketSession session, string value)
 {
 }
 public virtual void OnWebSocketDataReceived(EmbeddedWebServer server, WebSocketSession session, byte[] value)
 {
 }
 public virtual void OnWebSocketClosed(EmbeddedWebServer server, WebSocketSession session, CloseReason value)
 {
 }