public async Task Invoke(HttpContext httpContext) { if (httpContext.Request.Path == "/ws") { if (httpContext.WebSockets.IsWebSocketRequest) { WebSocket webSocket = await httpContext.WebSockets.AcceptWebSocketAsync(); await WebSocketService.ProcessWebSocket(httpContext, webSocket, this._broker); } else { httpContext.Response.StatusCode = 400; } } else { await _nextDelegate.Invoke(httpContext); } }