From e97b01e3da6388e4adfd339a3bb1176e5544ddb7 Mon Sep 17 00:00:00 2001 From: Mark Ingram Date: Tue, 24 Sep 2024 21:58:38 +0100 Subject: [PATCH] Upgrades Tower to 0.5.1 fixes #1569 Signed-off-by: Mark Ingram --- Cargo.toml | 6 +++--- kube-client/src/client/builder.rs | 1 + kube-client/src/client/config_ext.rs | 6 +++--- kube-client/src/client/mod.rs | 6 +++--- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 4483e8d02..388c7bca1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -52,7 +52,7 @@ http = "1.1.0" http-body = "1.0.0" http-body-util = "0.1.2" hyper = "1.2.0" -hyper-util = "0.1.3" +hyper-util = "0.1.9" hyper-openssl = "0.10.2" hyper-rustls = { version = "0.27.1", default-features = false } hyper-socks2 = { version = "0.9.0", default-features = false } @@ -84,8 +84,8 @@ tokio = "1.14.0" tokio-test = "0.4.0" tokio-tungstenite = "0.24.0" tokio-util = "0.7.0" -tower = "0.4.13" -tower-http = "0.5.2" +tower = "0.5.1" +tower-http = "0.6.1" tower-test = "0.4.0" tracing = "0.1.36" tracing-subscriber = "0.3.17" diff --git a/kube-client/src/client/builder.rs b/kube-client/src/client/builder.rs index f7c631896..05edf80b4 100644 --- a/kube-client/src/client/builder.rs +++ b/kube-client/src/client/builder.rs @@ -213,6 +213,7 @@ where } }), ) + .map_err(BoxError::from) .service(client); Ok(ClientBuilder::new( diff --git a/kube-client/src/client/config_ext.rs b/kube-client/src/client/config_ext.rs index 2861ad3c8..0874e0f00 100644 --- a/kube-client/src/client/config_ext.rs +++ b/kube-client/src/client/config_ext.rs @@ -167,14 +167,14 @@ impl ConfigExt for Config { fn auth_layer(&self) -> Result> { Ok(match Auth::try_from(&self.auth_info).map_err(Error::Auth)? { Auth::None => None, - Auth::Basic(user, pass) => Some(AuthLayer(Either::A( + Auth::Basic(user, pass) => Some(AuthLayer(Either::Left( AddAuthorizationLayer::basic(&user, pass.expose_secret()).as_sensitive(true), ))), - Auth::Bearer(token) => Some(AuthLayer(Either::A( + Auth::Bearer(token) => Some(AuthLayer(Either::Left( AddAuthorizationLayer::bearer(token.expose_secret()).as_sensitive(true), ))), Auth::RefreshableToken(refreshable) => { - Some(AuthLayer(Either::B(AsyncFilterLayer::new(refreshable)))) + Some(AuthLayer(Either::Right(AsyncFilterLayer::new(refreshable)))) } Auth::Certificate(_client_certificate_data, _client_key_data) => None, }) diff --git a/kube-client/src/client/mod.rs b/kube-client/src/client/mod.rs index 768a06100..7b177dc38 100644 --- a/kube-client/src/client/mod.rs +++ b/kube-client/src/client/mod.rs @@ -8,7 +8,7 @@ //! The [`Client`] can also be used with [`Discovery`](crate::Discovery) to dynamically //! retrieve the resources served by the kubernetes API. use either::{Either, Left, Right}; -use futures::{AsyncBufRead, StreamExt, TryStream, TryStreamExt}; +use futures::{future::BoxFuture, AsyncBufRead, StreamExt, TryStream, TryStreamExt}; use http::{self, Request, Response}; use http_body_util::BodyExt; #[cfg(feature = "ws")] use hyper_util::rt::TokioIo; @@ -75,8 +75,8 @@ pub use builder::{ClientBuilder, DynBody}; #[derive(Clone)] pub struct Client { // - `Buffer` for cheap clone - // - `BoxService` for dynamic response future type - inner: Buffer, Response, BoxError>, Request>, + // - `BoxFuture` for dynamic response future type + inner: Buffer, BoxFuture<'static, Result, BoxError>>>, default_ns: String, }