typeduck-codex-utils-rustls-provider 0.17.0

Tokio binding for Tungstenite, the Lightweight stream-based WebSocket implementation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//! Connect through a proxy using environment variables.

use tokio_tungstenite::connect_async;

#[tokio::main]
async fn main() {
    let target = "wss://echo.websocket.events";
    if std::env::var("HTTP_PROXY").is_err()
        && std::env::var("HTTPS_PROXY").is_err()
        && std::env::var("ALL_PROXY").is_err()
    {
        eprintln!("Set HTTP_PROXY, HTTPS_PROXY, or ALL_PROXY before running this example.");
        return;
    }

    let (mut socket, _response) = connect_async(target).await.expect("connect through proxy");
    let _ = socket.close(None).await;
}