rustapi-ws

Crates.iorustapi-ws
lib.rsrustapi-ws
version0.1.207
created_at2026-01-05 20:43:22.821265+00
updated_at2026-01-26 00:03:40.57112+00
descriptionWebSocket support for RustAPI - Real-time bidirectional communication
homepage
repositoryhttps://github.com/Tuntii/RustAPI
max_upload_size
id2024547
size148,875
Tunay (Tuntii)

documentation

https://docs.rs/rustapi-ws

README

RustAPI WebSocket

Real-time bidirectional communication made simple.

Built on tokio-tungstenite, this crate provides a first-class WebSocket extractor for RustAPI.

Usage

use rustapi_ws::{WebSocket, Message};

#[get("/chat")]
async fn chat_handler(ws: WebSocket) -> impl Responder {
    ws.on_upgrade(handle_socket)
}

async fn handle_socket(mut socket: WebSocket) {
    while let Some(Ok(msg)) = socket.recv().await {
        if let Message::Text(text) = msg {
            println!("Received: {}", text);
            socket.send(Message::Text("Echo!".into())).await.unwrap();
        }
    }
}

Features

  • Auto-Upgrade: Handles the HTTP 101 Switching Protocols handshake.
  • Channels: Built-in pub/sub for broadcast scenarios (chat rooms).
  • Ping/Pong: Automatic heartbeat management.
Commit count: 208

cargo fmt