diff --git a/Cargo.toml b/Cargo.toml index 063969f1..03cbed0c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -27,8 +27,10 @@ pin-project-lite = { version = "0.2.16", optional = true } reqwest = { version = "0.12.22", optional = true, default-features = false, features = ["rustls-tls", "http2", "stream"] } bytes = { version = "1.10.1", optional = true } uuid = { version = "1.17.0", features = ["v4"] } +futures-core = "0.3.31" futures-io = "0.3.31" -futures = "0.3.31" +futures-channel = "0.3.31" +futures-util = { version = "0.3.31", default-features = false, features = ["io"] } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] jsonwebtoken = { version = "9.3.1", default-features = false } diff --git a/src/request.rs b/src/request.rs index 2979ea35..49888adc 100644 --- a/src/request.rs +++ b/src/request.rs @@ -79,7 +79,7 @@ pub trait HttpClient: Clone + Send + Sync { Body: Serialize + Send + Sync, Output: DeserializeOwned + 'static + Send, { - use futures::io::Cursor; + use futures_util::io::Cursor; self.stream_request( url, diff --git a/src/reqwest.rs b/src/reqwest.rs index 26cf892a..5a43d2da 100644 --- a/src/reqwest.rs +++ b/src/reqwest.rs @@ -5,7 +5,8 @@ use std::{ use async_trait::async_trait; use bytes::{Bytes, BytesMut}; -use futures::{AsyncRead, Stream}; +use futures_core::Stream; +use futures_io::AsyncRead; use pin_project_lite::pin_project; use serde::{de::DeserializeOwned, Serialize}; @@ -90,10 +91,10 @@ impl HttpClient for ReqwestClient { } #[cfg(target_arch = "wasm32")] { - use futures::{pin_mut, AsyncReadExt}; + use futures_util::AsyncReadExt; let mut buf = Vec::new(); - pin_mut!(body); + let mut body = std::pin::pin!(body); body.read_to_end(&mut buf) .await .map_err(|err| Error::Other(Box::new(err)))?; diff --git a/src/utils.rs b/src/utils.rs index 65f93ff7..91b63fe6 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -2,7 +2,7 @@ use std::time::Duration; #[cfg(not(target_arch = "wasm32"))] pub(crate) async fn async_sleep(interval: Duration) { - let (sender, receiver) = futures::channel::oneshot::channel::<()>(); + let (sender, receiver) = futures_channel::oneshot::channel::<()>(); std::thread::spawn(move || { std::thread::sleep(interval); let _ = sender.send(());