From b67ddd9f2ad8a722e5330a76e80fb9c2dd47dec0 Mon Sep 17 00:00:00 2001 From: kieran Date: Thu, 12 Dec 2024 20:18:50 +0000 Subject: [PATCH 1/2] feat: take_upgraded --- src/native/mod.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/native/mod.rs b/src/native/mod.rs index 5d349a0..a176895 100644 --- a/src/native/mod.rs +++ b/src/native/mod.rs @@ -16,6 +16,7 @@ use tokio::io::{AsyncRead, AsyncWrite}; #[cfg(feature = "socks")] use tokio::net::TcpStream; use tokio::time; +use tokio_tungstenite::tungstenite::protocol::Role; pub use tokio_tungstenite::tungstenite::Message; pub use tokio_tungstenite::WebSocketStream; use url::Url; @@ -128,3 +129,14 @@ where { Ok(tokio_tungstenite::accept_async(raw_stream).await?) } + +/// Take an already upgraded websocket connection +/// +/// Useful for when using [hyper] or [warp] or any other HTTP server +#[inline] +pub async fn take_upgraded(raw_stream: S) -> Result, Error> +where + S: AsyncRead + AsyncWrite + Unpin, +{ + Ok(WebSocketStream::from_raw_socket(raw_stream, Role::Server, None).await) +} From 2ef2b4e2c10df382f8c55bcf1b77a70e1d53575a Mon Sep 17 00:00:00 2001 From: kieran Date: Thu, 12 Dec 2024 20:30:16 +0000 Subject: [PATCH 2/2] fix: remove useless result --- src/native/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/native/mod.rs b/src/native/mod.rs index a176895..c3ae04c 100644 --- a/src/native/mod.rs +++ b/src/native/mod.rs @@ -134,9 +134,9 @@ where /// /// Useful for when using [hyper] or [warp] or any other HTTP server #[inline] -pub async fn take_upgraded(raw_stream: S) -> Result, Error> +pub async fn take_upgraded(raw_stream: S) -> WebSocketStream where S: AsyncRead + AsyncWrite + Unpin, { - Ok(WebSocketStream::from_raw_socket(raw_stream, Role::Server, None).await) + WebSocketStream::from_raw_socket(raw_stream, Role::Server, None).await }