sse-stream 0.2.3

Conversion between http body and sse stream
Documentation
use std::convert::Infallible;

use futures_util::StreamExt;
use sse_stream::{Sse, SseBody, SseStream};

#[tokio::test]
async fn test_encode_body() {
    let sse_sequence = [
        Sse::default().event("1").data("....."),
        Sse::default().event("2").data("....."),
        Sse::default().event("3").data("....."),
        Sse::default().event("4").data("....."),
    ];
    let stream =
        futures_util::stream::iter(sse_sequence.clone()).map(Result::<Sse, Infallible>::Ok);
    let body = SseBody::new(stream);
    let mut stream = SseStream::new(body);
    let mut receive_count = 0;
    while let Some(sse) = stream.next().await {
        let sse = sse.unwrap();
        assert_eq!(sse, sse_sequence[receive_count]);
        receive_count += 1;
    }
}