private static async Task Notify()

in src/dotnet/AspireWorker/Sessions/SessionEndpoints.cs [116:150]


    private static async Task Notify(
        HttpContext context,
        [FromQuery(Name = "api-version")] string apiVersion,
        [FromHeader(Name = "Microsoft-Developer-DCP-Instance-ID")]
        string dcpInstanceId,
        IAspireHostService hostService,
        ILogger<SessionEndpointsLogger> logger)
    {
        logger.NotifyRequestReceived();

        if (!IsProtocolVersionSupported(apiVersion))
        {
            context.Response.StatusCode = StatusCodes.Status400BadRequest;
            return;
        }

        var aspireHostId = GetAspireHostId(dcpInstanceId);

        var sessionEventReader = hostService.GetSessionEventReader(aspireHostId);
        if (sessionEventReader is null)
        {
            context.Response.StatusCode = StatusCodes.Status400BadRequest;
            return;
        }

        if (context.WebSockets.IsWebSocketRequest)
        {
            using var ws = await context.WebSockets.AcceptWebSocketAsync();
            await Receive(ws, sessionEventReader);
        }
        else
        {
            context.Response.StatusCode = StatusCodes.Status400BadRequest;
        }
    }