An open API service indexing awesome lists of open source software.

https://github.com/caido/actix-sse

SSE implementation for Actix
https://github.com/caido/actix-sse

actix sse

Last synced: 10 months ago
JSON representation

SSE implementation for Actix

Awesome Lists containing this project

README

          

# Actix SSE

[github](https://github.com/caido/actix-sse)
[crates.io](https://crates.io/crates/actix-sse)

SSE implementation for Actix, extracted from [actix-web-lab](https://github.com/robjtede/actix-web-lab/) with minimal dependencies.

```rust
use std::{convert::Infallible, time::Duration};

#[get("/from-stream")]
async fn from_stream() -> impl Responder {
let event_stream = futures_util::stream::iter([Ok::<_, Infallible>(actix_sse::Event::Data(
actix_sse::Data::new("foo"),
))]);

actix_sse::Sse::from_stream(event_stream).with_keep_alive(Duration::from_secs(5))
}
```

## Migrating from actix-web-lab

This should mostly be a drop-in replacement for the `sse` module, but we did remove a few convenience methods.

- `Data::from_json`: Serialize in the caller and use `Data::new`
- `Data::set_id`: Use `Data::id`
- `Sse::from_receiver`: Use `Sse::from_stream(tokio_stream::wrappers::ReceiverStream::new(rx))`