diamond-in commited on
Commit
cd2cbe1
·
verified ·
1 Parent(s): f96374a

Update src/sse/stream.rs

Browse files
Files changed (1) hide show
  1. src/sse/stream.rs +8 -8
src/sse/stream.rs CHANGED
@@ -1,18 +1,18 @@
1
- use axum::{extract::State, response::sse::{Event, Sse}};
2
  use futures_util::stream::Stream;
3
- use std::{convert::Infallible, sync::Arc};
4
- use tokio_stream::{wrappers::BroadcastStream, StreamExt};
5
- use crate::AppState;
6
 
7
  pub async fn sse_handler(
8
- State(state): State<Arc<AppState>>,
9
  ) -> Sse<impl Stream<Item = Result<Event, Infallible>>> {
10
- let rx = state.tx.subscribe();
11
- let stream = BroadcastStream::new(rx).map(|msg| {
12
  match msg {
13
  Ok(data) => Ok(Event::default().data(data)),
14
- Err(_) => Ok(Event::default().data("error")),
15
  }
16
  });
 
17
  Sse::new(stream)
18
  }
 
1
+ use axum::response::sse::{Event, Sse};
2
  use futures_util::stream::Stream;
3
+ use std::convert::Infallible;
4
+ use tokio_stream::StreamExt;
5
+ use tokio::sync::broadcast;
6
 
7
  pub async fn sse_handler(
8
+ rx: broadcast::Receiver<String>,
9
  ) -> Sse<impl Stream<Item = Result<Event, Infallible>>> {
10
+ let stream = tokio_stream::wrappers::BroadcastStream::new(rx).map(|msg| {
 
11
  match msg {
12
  Ok(data) => Ok(Event::default().data(data)),
13
+ Err(_) => Ok(Event::default().data("ping")),
14
  }
15
  });
16
+
17
  Sse::new(stream)
18
  }