[][src]Module roa::websocket

This is supported on feature="websocket" only.

This module provides a websocket endpoint.

Example

use futures::StreamExt;
use roa::router::{Router, RouterError};
use roa::websocket::Websocket;
use roa::{App, Context};
use roa::http::Method;

let router = Router::new().on("/chat", Websocket::new(|_ctx, stream| async move {
    let (write, read) = stream.split();
    // echo
    if let Err(err) = read.forward(write).await {
        println!("forward err: {}", err);
    }
}));
let app = App::new().end(router.routes("/")?);
Ok(())

Re-exports

pub use tokio_tungstenite::tungstenite;

Structs

WebSocketConfigfeature="websocket"

The configuration for WebSocket connection.

Websocketfeature="websocket"

The Websocket middleware.

Enums

Messagefeature="websocket"

An enum representing the various forms of a WebSocket message.

Type Definitions

SocketStreamfeature="websocket"

An alias for WebSocketStream.