1 unstable release

0.5.0 Nov 15, 2023

#425 in HTTP client

Download history 43/week @ 2024-01-06 182/week @ 2024-01-13 14/week @ 2024-01-20 66/week @ 2024-01-27 20/week @ 2024-02-03 6/week @ 2024-02-10 24/week @ 2024-02-17 43/week @ 2024-02-24 57/week @ 2024-03-02 20/week @ 2024-03-09 11/week @ 2024-03-16 10/week @ 2024-03-23 34/week @ 2024-03-30 7/week @ 2024-04-06 26/week @ 2024-04-13 114/week @ 2024-04-20

182 downloads per month
Used in async-openai-wasi

MIT/Apache

21KB
391 lines

reqwest-eventsource

Provides a simple wrapper for reqwest to provide an Event Source implementation. You can learn more about Server Sent Events (SSE) take a look at the MDN docs This crate uses eventsource_stream to wrap the underlying Bytes stream, and retries failed requests.

Example

let mut es = EventSource::get("http://localhost:8000/events");
while let Some(event) = es.next().await {
    match event {
        Ok(Event::Open) => println!("Connection Open!"),
        Ok(Event::Message(message)) => println!("Message: {:#?}", message),
        Err(err) => {
            println!("Error: {}", err);
            es.close();
        }
    }
}

License: MIT OR Apache-2.0


lib.rs:

Provides a simple wrapper for reqwest to provide an Event Source implementation. You can learn more about Server Sent Events (SSE) take a look at the MDN docs This crate uses eventsource_stream to wrap the underlying Bytes stream, and retries failed requests.

Example

let mut es = EventSource::get("http://localhost:8000/events");
while let Some(event) = es.next().await {
    match event {
        Ok(Event::Open) => println!("Connection Open!"),
        Ok(Event::Message(message)) => println!("Message: {:#?}", message),
        Err(err) => {
            println!("Error: {}", err);
            es.close();
        }
    }
}

Dependencies

~5–20MB
~274K SLoC