reqwest-websocket 0.1.0

Websocket connections with reqwest
Documentation

reqwest-websocket

Provides wrappers for reqwest to enable websocket connections.

Example

For a full example take a look at hello_world.rs.

// Extends the reqwest::RequestBuilder to allow websocket upgrades
use reqwest_websocket::RequestBuilderExt;

// don't use `ws://` or `wss://` for the url, but rather `http://` or `https://`
let response = Client::default()
   .get("https://echo.websocket.org/")
   .upgrade() // prepares the websocket upgrade.
   .send()
   .await?;

// turn the response into a websocket stream
let mut websocket = response.into_websocket().await?;

// the websocket implements `Sink<Message>`.
websocket.send(Message::Text("Hello, World".into())).await?;

// the websocket is also a `TryStream` over `Message`s.
while let Some(message) = websocket.try_next().await? {
   match message {
       Message::Text(text) => println!("{text}"),
       _ => {}
   }
}