mirror of
https://github.com/zed-industries/zed.git
synced 2024-11-07 20:39:04 +03:00
chore: Bump async-tungstenite to 0.23 (and tungstenite to 0.20.1) (#15039)
Release Notes: - N/A
This commit is contained in:
parent
7ae305ac0d
commit
4d65f7eea3
58
Cargo.lock
generated
58
Cargo.lock
generated
@ -661,18 +661,6 @@ dependencies = [
|
|||||||
"pin-project-lite",
|
"pin-project-lite",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "async-native-tls"
|
|
||||||
version = "0.3.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "9e9e7a929bd34c68a82d58a4de7f86fffdaf97fb2af850162a7bb19dd7269b33"
|
|
||||||
dependencies = [
|
|
||||||
"async-std",
|
|
||||||
"native-tls",
|
|
||||||
"thiserror",
|
|
||||||
"url",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "async-native-tls"
|
name = "async-native-tls"
|
||||||
version = "0.5.0"
|
version = "0.5.0"
|
||||||
@ -876,17 +864,17 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "async-tungstenite"
|
name = "async-tungstenite"
|
||||||
version = "0.16.1"
|
version = "0.23.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "5682ea0913e5c20780fe5785abacb85a411e7437bf52a1bedb93ddb3972cb8dd"
|
checksum = "a1e9efbe14612da0a19fb983059a0b621e9cf6225d7018ecab4f9988215540dc"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-native-tls 0.3.3",
|
"async-native-tls",
|
||||||
"async-std",
|
"async-std",
|
||||||
"futures-io",
|
"futures-io",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
"log",
|
"log",
|
||||||
"pin-project-lite",
|
"pin-project-lite",
|
||||||
"tungstenite 0.16.0",
|
"tungstenite",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -2316,7 +2304,7 @@ name = "client"
|
|||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-native-tls 0.5.0",
|
"async-native-tls",
|
||||||
"async-recursion 0.3.2",
|
"async-recursion 0.3.2",
|
||||||
"async-tungstenite",
|
"async-tungstenite",
|
||||||
"chrono",
|
"chrono",
|
||||||
@ -9639,19 +9627,6 @@ dependencies = [
|
|||||||
"workspace",
|
"workspace",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "sha-1"
|
|
||||||
version = "0.9.8"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6"
|
|
||||||
dependencies = [
|
|
||||||
"block-buffer 0.9.0",
|
|
||||||
"cfg-if",
|
|
||||||
"cpufeatures",
|
|
||||||
"digest 0.9.0",
|
|
||||||
"opaque-debug",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "sha1"
|
name = "sha1"
|
||||||
version = "0.10.6"
|
version = "0.10.6"
|
||||||
@ -11220,7 +11195,7 @@ dependencies = [
|
|||||||
"futures-util",
|
"futures-util",
|
||||||
"log",
|
"log",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tungstenite 0.20.1",
|
"tungstenite",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -11693,26 +11668,6 @@ version = "0.21.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8"
|
checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "tungstenite"
|
|
||||||
version = "0.16.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "6ad3713a14ae247f22a728a0456a545df14acf3867f905adff84be99e23b3ad1"
|
|
||||||
dependencies = [
|
|
||||||
"base64 0.13.1",
|
|
||||||
"byteorder",
|
|
||||||
"bytes 1.5.0",
|
|
||||||
"http 0.2.9",
|
|
||||||
"httparse",
|
|
||||||
"log",
|
|
||||||
"native-tls",
|
|
||||||
"rand 0.8.5",
|
|
||||||
"sha-1",
|
|
||||||
"thiserror",
|
|
||||||
"url",
|
|
||||||
"utf-8",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tungstenite"
|
name = "tungstenite"
|
||||||
version = "0.20.1"
|
version = "0.20.1"
|
||||||
@ -11725,6 +11680,7 @@ dependencies = [
|
|||||||
"http 0.2.9",
|
"http 0.2.9",
|
||||||
"httparse",
|
"httparse",
|
||||||
"log",
|
"log",
|
||||||
|
"native-tls",
|
||||||
"rand 0.8.5",
|
"rand 0.8.5",
|
||||||
"sha1",
|
"sha1",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
|
@ -18,7 +18,7 @@ test-support = ["clock/test-support", "collections/test-support", "gpui/test-sup
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
anyhow.workspace = true
|
anyhow.workspace = true
|
||||||
async-recursion = "0.3"
|
async-recursion = "0.3"
|
||||||
async-tungstenite = { version = "0.16", features = ["async-std", "async-native-tls"] }
|
async-tungstenite = { version = "0.23", features = ["async-std", "async-native-tls"] }
|
||||||
chrono = { workspace = true, features = ["serde"] }
|
chrono = { workspace = true, features = ["serde"] }
|
||||||
clock.workspace = true
|
clock.workspace = true
|
||||||
collections.workspace = true
|
collections.workspace = true
|
||||||
|
@ -20,7 +20,7 @@ test-support = ["sqlite"]
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
anthropic.workspace = true
|
anthropic.workspace = true
|
||||||
anyhow.workspace = true
|
anyhow.workspace = true
|
||||||
async-tungstenite = "0.16"
|
async-tungstenite = "0.23"
|
||||||
aws-config = { version = "1.1.5" }
|
aws-config = { version = "1.1.5" }
|
||||||
aws-sdk-s3 = { version = "1.15.0" }
|
aws-sdk-s3 = { version = "1.15.0" }
|
||||||
axum = { version = "0.6", features = ["json", "headers", "ws"] }
|
axum = { version = "0.6", features = ["json", "headers", "ws"] }
|
||||||
|
@ -12,7 +12,7 @@ use crate::{
|
|||||||
executor::Executor,
|
executor::Executor,
|
||||||
AppState, Error, RateLimit, RateLimiter, Result,
|
AppState, Error, RateLimit, RateLimiter, Result,
|
||||||
};
|
};
|
||||||
use anyhow::{anyhow, Context as _};
|
use anyhow::{anyhow, bail, Context as _};
|
||||||
use async_tungstenite::tungstenite::{
|
use async_tungstenite::tungstenite::{
|
||||||
protocol::CloseFrame as TungsteniteCloseFrame, Message as TungsteniteMessage,
|
protocol::CloseFrame as TungsteniteCloseFrame, Message as TungsteniteMessage,
|
||||||
};
|
};
|
||||||
@ -1392,7 +1392,13 @@ pub async fn handle_websocket_request(
|
|||||||
let socket = socket
|
let socket = socket
|
||||||
.map_ok(to_tungstenite_message)
|
.map_ok(to_tungstenite_message)
|
||||||
.err_into()
|
.err_into()
|
||||||
.with(|message| async move { Ok(to_axum_message(message)) });
|
.with(|message| async move {
|
||||||
|
if let Some(message) = to_axum_message(message) {
|
||||||
|
Ok(message)
|
||||||
|
} else {
|
||||||
|
bail!("Could not convert a tungstenite message to axum message");
|
||||||
|
}
|
||||||
|
});
|
||||||
let connection = Connection::new(Box::pin(socket));
|
let connection = Connection::new(Box::pin(socket));
|
||||||
async move {
|
async move {
|
||||||
server
|
server
|
||||||
@ -5154,16 +5160,21 @@ async fn get_private_user_info(
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn to_axum_message(message: TungsteniteMessage) -> AxumMessage {
|
fn to_axum_message(message: TungsteniteMessage) -> Option<AxumMessage> {
|
||||||
match message {
|
match message {
|
||||||
TungsteniteMessage::Text(payload) => AxumMessage::Text(payload),
|
TungsteniteMessage::Text(payload) => Some(AxumMessage::Text(payload)),
|
||||||
TungsteniteMessage::Binary(payload) => AxumMessage::Binary(payload),
|
TungsteniteMessage::Binary(payload) => Some(AxumMessage::Binary(payload)),
|
||||||
TungsteniteMessage::Ping(payload) => AxumMessage::Ping(payload),
|
TungsteniteMessage::Ping(payload) => Some(AxumMessage::Ping(payload)),
|
||||||
TungsteniteMessage::Pong(payload) => AxumMessage::Pong(payload),
|
TungsteniteMessage::Pong(payload) => Some(AxumMessage::Pong(payload)),
|
||||||
TungsteniteMessage::Close(frame) => AxumMessage::Close(frame.map(|frame| AxumCloseFrame {
|
TungsteniteMessage::Close(frame) => {
|
||||||
code: frame.code.into(),
|
Some(AxumMessage::Close(frame.map(|frame| AxumCloseFrame {
|
||||||
reason: frame.reason,
|
code: frame.code.into(),
|
||||||
})),
|
reason: frame.reason,
|
||||||
|
})))
|
||||||
|
}
|
||||||
|
// we can ignore `Frame` frames as recommended by the tungstenite maintainers
|
||||||
|
// https://github.com/snapview/tungstenite-rs/issues/268
|
||||||
|
TungsteniteMessage::Frame(_) => None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ test-support = ["collections/test-support", "gpui/test-support", "proto/test-sup
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
anyhow.workspace = true
|
anyhow.workspace = true
|
||||||
async-tungstenite = "0.16"
|
async-tungstenite = "0.23"
|
||||||
base64.workspace = true
|
base64.workspace = true
|
||||||
chrono.workspace = true
|
chrono.workspace = true
|
||||||
collections.workspace = true
|
collections.workspace = true
|
||||||
|
Loading…
Reference in New Issue
Block a user