コード例 #1
0
        public async Task Invoke(HttpContext context)
        {
            if (!context.WebSockets.IsWebSocketRequest)
            {
                await _next(context);

                return;
            }

            var socket = await context.WebSockets.AcceptWebSocketAsync();

            var isAdded = await _webSocketManager.OnConnected(socket);

            if (!isAdded)
            {
                throw new WebSocketException("Socket isn`t added");
            }

            await ReceiveAsync(context, socket);
        }