axum/examples
David Pedersen 4194cf70da
Change WebSocket API to use an extractor (#121)
Fixes https://github.com/tokio-rs/axum/issues/111

Example usage:

```rust
use axum::{
    prelude::*,
    extract::ws::{WebSocketUpgrade, WebSocket},
    response::IntoResponse,
};

let app = route("/ws", get(handler));

async fn handler(ws: WebSocketUpgrade) -> impl IntoResponse {
    ws.on_upgrade(handle_socket)
}

async fn handle_socket(mut socket: WebSocket) {
    while let Some(msg) = socket.recv().await {
        let msg = if let Ok(msg) = msg {
            msg
        } else {
            // client disconnected
            return;
        };

        if socket.send(msg).await.is_err() {
            // client disconnected
            return;
        }
    }
}
```
2021-08-07 17:26:23 +02:00
..
2021-08-01 22:42:34 +02:00
2021-08-01 21:49:17 +02:00
2021-06-13 13:58:12 +02:00
2021-06-12 20:50:30 +02:00
2021-08-05 13:47:19 +02:00
2021-08-06 10:17:57 +02:00
2021-08-06 10:17:57 +02:00
2021-08-06 10:17:57 +02:00

Examples

Community showcase

  • Houseflow: House automation platform written in Rust.