diff options
Diffstat (limited to 'op_crates/websocket')
-rw-r--r-- | op_crates/websocket/Cargo.toml | 6 | ||||
-rw-r--r-- | op_crates/websocket/lib.rs | 13 |
2 files changed, 8 insertions, 11 deletions
diff --git a/op_crates/websocket/Cargo.toml b/op_crates/websocket/Cargo.toml index 8d871614d..d3d0aa17d 100644 --- a/op_crates/websocket/Cargo.toml +++ b/op_crates/websocket/Cargo.toml @@ -16,9 +16,9 @@ path = "lib.rs" [dependencies] deno_core = { version = "0.83.0", path = "../../core" } http = "0.2.3" -serde = { version = "1.0.123", features = ["derive"] } +serde = { version = "1.0.125", features = ["derive"] } tokio = { version = "1.4.0", features = ["full"] } tokio-rustls = "0.22.0" -tokio-tungstenite = "0.13.0" +tokio-tungstenite = { version = "0.14.0", features = ["rustls-tls"] } webpki = "0.21.4" -webpki-roots = "0.21.0" +webpki-roots = "0.21.1" diff --git a/op_crates/websocket/lib.rs b/op_crates/websocket/lib.rs index 1e6eaafb7..59fa5acdb 100644 --- a/op_crates/websocket/lib.rs +++ b/op_crates/websocket/lib.rs @@ -32,12 +32,12 @@ use std::rc::Rc; use std::sync::Arc; use tokio::net::TcpStream; use tokio_rustls::{rustls::ClientConfig, TlsConnector}; -use tokio_tungstenite::stream::Stream as StreamSwitcher; use tokio_tungstenite::tungstenite::Error as TungsteniteError; use tokio_tungstenite::tungstenite::{ handshake::client::Response, protocol::frame::coding::CloseCode, protocol::CloseFrame, Message, }; +use tokio_tungstenite::MaybeTlsStream; use tokio_tungstenite::{client_async, WebSocketStream}; use webpki::DNSNameRef; @@ -61,10 +61,7 @@ impl WebSocketPermissions for NoWebSocketPermissions { } } -type MaybeTlsStream = - StreamSwitcher<TcpStream, tokio_rustls::client::TlsStream<TcpStream>>; - -type WsStream = WebSocketStream<MaybeTlsStream>; +type WsStream = WebSocketStream<MaybeTlsStream<TcpStream>>; struct WsStreamResource { tx: AsyncRefCell<SplitSink<WsStream, Message>>, rx: AsyncRefCell<SplitStream<WsStream>>, @@ -149,8 +146,8 @@ where Err(_) => return Ok(json!({ "success": false })), }; - let socket: MaybeTlsStream = match uri.scheme_str() { - Some("ws") => StreamSwitcher::Plain(tcp_socket), + let socket: MaybeTlsStream<TcpStream> = match uri.scheme_str() { + Some("ws") => MaybeTlsStream::Plain(tcp_socket), Some("wss") => { let mut config = ClientConfig::new(); config @@ -166,7 +163,7 @@ where let dnsname = DNSNameRef::try_from_ascii_str(&domain).expect("Invalid DNS lookup"); let tls_socket = tls_connector.connect(dnsname, tcp_socket).await?; - StreamSwitcher::Tls(tls_socket) + MaybeTlsStream::Rustls(tls_socket) } _ => unreachable!(), }; |