WASM compatibilty

This commit is contained in:
jasonwitty 2025-09-08 12:29:03 -07:00
parent f59c28d966
commit e4186a7ec0
2 changed files with 9 additions and 9 deletions

View File

@ -3,26 +3,26 @@
//! This example demonstrates how to use the connector without TLS dependencies
//! for WebAssembly builds.
use socktop_connector::{connect_to_socktop_agent, ConnectorConfig, AgentRequest};
use socktop_connector::{AgentRequest, ConnectorConfig, connect_to_socktop_agent};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
println!("WASM-compatible socktop connector example");
// For WASM builds, use ws:// (not wss://) to avoid TLS dependencies
let url = "ws://localhost:3000/ws";
// Method 1: Simple connection (recommended for most use cases)
let mut connector = connect_to_socktop_agent(url).await?;
// Method 2: With custom WebSocket configuration
let config = ConnectorConfig::new(url)
.with_protocols(vec!["socktop".to_string()])
.with_version("13".to_string());
let mut connector_custom = socktop_connector::SocktopConnector::new(config);
connector_custom.connect().await?;
// Make a request to get metrics
match connector.request(AgentRequest::Metrics).await {
Ok(response) => {
@ -32,7 +32,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
println!("Request failed: {}", e);
}
}
println!("WASM example completed successfully!");
Ok(())
}

View File

@ -6,8 +6,8 @@ use prost::Message as _;
use std::io::Read;
use tokio::net::TcpStream;
use tokio_tungstenite::{
MaybeTlsStream, WebSocketStream, connect_async,
tungstenite::Message, tungstenite::client::IntoClientRequest,
MaybeTlsStream, WebSocketStream, connect_async, tungstenite::Message,
tungstenite::client::IntoClientRequest,
};
use url::Url;