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::{
    handler, route,
    web::websocket::{Message, WebSocket},
    IntoResponse,
};

#[handler(method = "get")]
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().at("/", 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.