From a4a03222245652139fc0f8f3442a328cdc1dcec1 Mon Sep 17 00:00:00 2001 From: Ruslan Nigmatullin Date: Mon, 11 May 2026 22:07:02 +0000 Subject: [PATCH] [exec-server] drop binary websocket handling --- codex-rs/exec-server/src/connection.rs | 14 +++----- .../exec-server/tests/common/exec_server.rs | 5 --- codex-rs/exec-server/tests/websocket.rs | 36 ------------------- 3 files changed, 4 insertions(+), 51 deletions(-) diff --git a/codex-rs/exec-server/src/connection.rs b/codex-rs/exec-server/src/connection.rs index a1d666b0f5..9b0bb88027 100644 --- a/codex-rs/exec-server/src/connection.rs +++ b/codex-rs/exec-server/src/connection.rs @@ -461,11 +461,8 @@ impl JsonRpcWebSocketMessage for Message { Message::Text(text) => { serde_json::from_str(text.as_ref()).map(JsonRpcWebSocketFrame::Message) } - Message::Binary(bytes) => { - serde_json::from_slice(bytes.as_ref()).map(JsonRpcWebSocketFrame::Message) - } Message::Close(_) => Ok(JsonRpcWebSocketFrame::Close), - Message::Ping(_) | Message::Pong(_) | Message::Frame(_) => { + Message::Binary(_) | Message::Ping(_) | Message::Pong(_) | Message::Frame(_) => { Ok(JsonRpcWebSocketFrame::Ignore) } } @@ -482,13 +479,10 @@ impl JsonRpcWebSocketMessage for AxumWebSocketMessage { AxumWebSocketMessage::Text(text) => { serde_json::from_str(text.as_ref()).map(JsonRpcWebSocketFrame::Message) } - AxumWebSocketMessage::Binary(bytes) => { - serde_json::from_slice(bytes.as_ref()).map(JsonRpcWebSocketFrame::Message) - } AxumWebSocketMessage::Close(_) => Ok(JsonRpcWebSocketFrame::Close), - AxumWebSocketMessage::Ping(_) | AxumWebSocketMessage::Pong(_) => { - Ok(JsonRpcWebSocketFrame::Ignore) - } + AxumWebSocketMessage::Binary(_) + | AxumWebSocketMessage::Ping(_) + | AxumWebSocketMessage::Pong(_) => Ok(JsonRpcWebSocketFrame::Ignore), } } diff --git a/codex-rs/exec-server/tests/common/exec_server.rs b/codex-rs/exec-server/tests/common/exec_server.rs index f1bf03d25b..4ff7408715 100644 --- a/codex-rs/exec-server/tests/common/exec_server.rs +++ b/codex-rs/exec-server/tests/common/exec_server.rs @@ -142,11 +142,6 @@ impl ExecServerHarness { Ok(()) } - pub(crate) async fn send_raw_binary(&mut self, bytes: Vec) -> anyhow::Result<()> { - self.websocket.send(Message::Binary(bytes.into())).await?; - Ok(()) - } - pub(crate) async fn next_event(&mut self) -> anyhow::Result { self.next_event_with_timeout(EVENT_TIMEOUT).await } diff --git a/codex-rs/exec-server/tests/websocket.rs b/codex-rs/exec-server/tests/websocket.rs index 03b2cabfcd..64c9438b81 100644 --- a/codex-rs/exec-server/tests/websocket.rs +++ b/codex-rs/exec-server/tests/websocket.rs @@ -60,39 +60,3 @@ async fn exec_server_reports_malformed_websocket_json_and_keeps_running() -> any server.shutdown().await?; Ok(()) } - -#[tokio::test(flavor = "multi_thread", worker_threads = 2)] -async fn exec_server_accepts_binary_websocket_json() -> anyhow::Result<()> { - let mut server = exec_server().await?; - let initialize_id = codex_app_server_protocol::RequestId::Integer(1); - let initialize = JSONRPCMessage::Request(codex_app_server_protocol::JSONRPCRequest { - id: initialize_id.clone(), - method: "initialize".to_string(), - params: Some(serde_json::to_value(InitializeParams { - client_name: "exec-server-binary-test".to_string(), - resume_session_id: None, - })?), - trace: None, - }); - server - .send_raw_binary(serde_json::to_vec(&initialize)?) - .await?; - - let response = server - .wait_for_event(|event| { - matches!( - event, - JSONRPCMessage::Response(JSONRPCResponse { id, .. }) if id == &initialize_id - ) - }) - .await?; - let JSONRPCMessage::Response(JSONRPCResponse { id, result }) = response else { - panic!("expected initialize response for binary input"); - }; - assert_eq!(id, initialize_id); - let initialize_response: InitializeResponse = serde_json::from_value(result)?; - Uuid::parse_str(&initialize_response.session_id)?; - - server.shutdown().await?; - Ok(()) -}