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>
].