Spaces:
Build error
Build error
File size: 535 Bytes
cd2cbe1 5d031fb cd2cbe1 5d031fb cd2cbe1 5d031fb cd2cbe1 5d031fb cd2cbe1 5d031fb cd2cbe1 5d031fb |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
use axum::response::sse::{Event, Sse};
use futures_util::stream::Stream;
use std::convert::Infallible;
use tokio_stream::StreamExt;
use tokio::sync::broadcast;
pub async fn sse_handler(
rx: broadcast::Receiver<String>,
) -> Sse<impl Stream<Item = Result<Event, Infallible>>> {
let stream = tokio_stream::wrappers::BroadcastStream::new(rx).map(|msg| {
match msg {
Ok(data) => Ok(Event::default().data(data)),
Err(_) => Ok(Event::default().data("ping")),
}
});
Sse::new(stream)
} |