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) { }