using System; using ln.http.websocket; using ln.http.exceptions; using ln.logging; namespace ln.http.router { public class WebsocketRouter : IHttpRouter { Func createWebsocket; public WebsocketRouter(Func createWebsocketDelegate) { createWebsocket = createWebsocketDelegate; } public WebSocket CreateWebSocket(HttpRequest request) => createWebsocket(request); public HttpResponse Route(HttpRoutingContext routingContext, HttpRequest httpRequest) { WebSocket websocket = CreateWebSocket(httpRequest); try { websocket.Run(); } catch (Exception e) { Logging.Log(e); } throw new DisposeConnectionException(); } } }