Spaces:
Build error
Build error
| 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) | |
| } |