public async Task InvokeAsync( HttpContext context, IWebSocketHandler webSocketHandler, IOptions <WebSocketOption> options) { if (context.WebSockets.IsWebSocketRequest && context.Request.Path == "/ws") { var queryString = context.Request.Query[options.Value.RequestType].ToString().AsWebSocketRequestType(); var webSocket = await context.WebSockets.AcceptWebSocketAsync(); await webSocketHandler.ProcessIncomingRequest(webSocket, queryString); } else { await _next(context); } }