summaryrefslogtreecommitdiff
path: root/op_crates/websocket
diff options
context:
space:
mode:
Diffstat (limited to 'op_crates/websocket')
-rw-r--r--op_crates/websocket/Cargo.toml6
-rw-r--r--op_crates/websocket/lib.rs13
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!(),
};