Skip to content

Commit 2c82985

Browse files
committed
return a result from sse sender
in order to allow endpoints to break out of loops
1 parent e994b2e commit 2c82985

4 files changed

Lines changed: 13 additions & 8 deletions

File tree

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ __internal__bench = []
3333

3434
[dependencies]
3535
async-h1 = { version = "2.0.1", optional = true }
36-
async-sse = "3.0.0"
36+
async-sse = "3.0.1"
3737
async-std = { version = "1.6.0", features = ["unstable"] }
3838
femme = "2.0.1"
3939
http-types = "2.2.1"

examples/sse.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ use tide::sse;
44
async fn main() -> Result<(), std::io::Error> {
55
let mut app = tide::new();
66
app.at("/sse").get(sse::endpoint(|_req, sender| async move {
7-
sender.send("fruit", "banana", None).await;
8-
sender.send("fruit", "apple", None).await;
7+
sender.send("fruit", "banana", None).await?;
8+
sender.send("fruit", "apple", None).await?;
99
Ok(())
1010
}));
1111
app.listen("localhost:8080").await?;

src/sse/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
//!
1919
//! let mut app = tide::new();
2020
//! app.at("/sse").get(sse::endpoint(|_req, sender| async move {
21-
//! sender.send("fruit", "banana", None).await;
22-
//! sender.send("fruit", "apple", None).await;
21+
//! sender.send("fruit", "banana", None).await?;
22+
//! sender.send("fruit", "apple", None).await?;
2323
//! Ok(())
2424
//! }));
2525
//! app.listen("localhost:8080").await?;

src/sse/sender.rs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,13 @@ impl Sender {
1212

1313
/// Send data from the SSE channel.
1414
///
15-
/// Each message constists of a "name" and "data".
16-
pub async fn send(&self, name: &str, data: impl AsRef<str>, id: Option<&str>) {
17-
self.sender.send(name, data.as_ref(), id).await;
15+
/// Each message consists of a "name" and "data".
16+
pub async fn send(
17+
&self,
18+
name: &str,
19+
data: impl AsRef<str>,
20+
id: Option<&str>,
21+
) -> async_std::io::Result<()> {
22+
self.sender.send(name, data.as_ref(), id).await
1823
}
1924
}

0 commit comments

Comments
 (0)