From 7d5cc2ed470d70a0a26dab6affef91eefacc9a8d Mon Sep 17 00:00:00 2001 From: YinMo19 Date: Thu, 24 Apr 2025 03:11:54 +0800 Subject: [PATCH] [enhance] test ver. Add text for test. --- src/lib.rs | 22 +--------------------- src/websocket.rs | 18 +++++------------- 2 files changed, 6 insertions(+), 34 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 0b2b176..8316086 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -117,23 +117,6 @@ impl Stream { Stream::Tcp(s) => s.next_timeout(timeout).await, } } -} - -impl Stream { - /// establish connect from tcp. - pub async fn from_tcp( - stream: tokio::net::TcpStream, - addr: SocketAddr, - is_websocket: bool, - ) -> ResultType { - if is_websocket { - Ok(Self::WebSocket( - websocket::WsFramedStream::from(stream, addr).await, - )) - } else { - Ok(Self::Tcp(tcp::FramedStream::from(stream, addr))) - } - } /// establish connect from websocket pub async fn connect_websocket( @@ -144,6 +127,7 @@ impl Stream { ) -> ResultType { let ws_stream = websocket::WsFramedStream::new(url, local_addr, proxy_conf, timeout_ms).await?; + log::debug!("WebSocket connection established"); Ok(Self::WebSocket(ws_stream)) } @@ -169,10 +153,6 @@ impl Stream { Self::Tcp(tcp) => tcp.local_addr(), } } - - pub fn is_websocket(&self) -> bool { - matches!(self, Self::WebSocket(_)) - } } pub type SessionID = uuid::Uuid; diff --git a/src/websocket.rs b/src/websocket.rs index dcf1a61..0f60b15 100644 --- a/src/websocket.rs +++ b/src/websocket.rs @@ -112,19 +112,6 @@ impl WsFramedStream { }) } - pub async fn from(stream: TcpStream, addr: SocketAddr) -> Self { - let ws_stream = - WebSocketStream::from_raw_socket(MaybeTlsStream::Plain(stream), Role::Client, None) - .await; - - Self { - stream: ws_stream, - addr, - encrypt: None, - send_timeout: 0, - } - } - pub fn local_addr(&self) -> SocketAddr { self.addr } @@ -202,6 +189,11 @@ impl WsFramedStream { } return Some(Ok(bytes)); } + WsMessage::Text(text) => { + log::debug!("Received text message, converting to binary"); + let bytes = BytesMut::from(text.as_bytes()); + return Some(Ok(bytes)); + } WsMessage::Close(_) => { log::info!("Received close frame"); return None;