using Flawless.Communication.Response; namespace Flawless.Server.Middlewares; public class WebSocketHandoffMiddleware(RequestDelegate next) { public async Task InvokeAsync(HttpContext context) { // Is a WebSocket call and no ws presents. if (context.Request.Path.StartsWithSegments("/ws") && !context.WebSockets.IsWebSocketRequest) { context.Response.StatusCode = 400; await context.Response.WriteAsJsonAsync( new FailedResponse("Connection should be a WebSocket!", "NotWebSocketRequest")); return; } await next(context); } }