Module poem::web::websocket[][src]

This is supported on crate feature websocket only.
Expand description

Websocket extractor and response.

Example

use futures_util::{SinkExt, StreamExt};
use poem::{
    get, handler,
    web::websocket::{Message, WebSocket},
    IntoResponse, Route,
};

#[handler]
async fn index(ws: WebSocket) -> impl IntoResponse {
    ws.on_upgrade(|mut socket| async move {
        if let Some(Ok(Message::Text(text))) = socket.next().await {
            let _ = socket.send(Message::Text(text)).await;
        }
    })
}

let app = Route::new().at("/", get(index));

Structs

An extractor that can accept websocket connections.

A WebSocket stream, which implements [Stream<Message>] and [Sink<Message>].

Enums

Status code used to indicate why an endpoint is closing the WebSocket connection.

An enum representing the various forms of a WebSocket message.