1
0
Flawless-Version-Control/Flawless.Server/Middlewares/WebSocketHandoffMiddleware.cs

22 lines
654 B
C#

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);
}
}