From 5f39f748a9761e37c2cd995686c3f7ed30a1d8d0 Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Fri, 16 Jan 2026 18:16:15 -0600 Subject: [PATCH] Fix WebSocket URL: add /websocket suffix for Phoenix Channels --- src/websocket_client.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/websocket_client.rs b/src/websocket_client.rs index c176f6d..f17ce9e 100644 --- a/src/websocket_client.rs +++ b/src/websocket_client.rs @@ -3,6 +3,8 @@ /// This replaces the complex REST API + polling architecture with a single /// persistent WebSocket connection. The server sends SNMP query jobs as protobuf /// messages, the agent executes raw SNMP queries, and sends results back. +/// +/// Connection URL: {url}/socket/agent/websocket?token={token} use anyhow::{Context, Result}; use base64::engine::general_purpose::STANDARD as BASE64; use base64::Engine; @@ -49,7 +51,7 @@ impl AgentClient { /// let client = AgentClient::connect("wss://towerops.net", "token123").await?; /// ``` pub async fn connect(url: &str, token: &str) -> Result { - let ws_url = format!("{}/socket/agent?token={}", url, token); + let ws_url = format!("{}/socket/agent/websocket?token={}", url, token); log::info!("Connecting to WebSocket: {}", ws_url); let (mut ws_stream, _) = connect_async(&ws_url)