backend/controller/
sse.rs

1//! Server-Sent Events controller
2
3use actix_web::{get, web::Query, Responder};
4
5use crate::{config::data::SharedBroadcaster, model::dto::ConnectToMapQueryParams};
6
7/// Create a new SSE client.
8#[get("")]
9pub async fn connect_to_map(
10    query: Query<ConnectToMapQueryParams>,
11    broadcaster: SharedBroadcaster,
12) -> impl Responder {
13    let query = query.into_inner();
14    broadcaster.new_client(query.map_id).await
15}