From 0a24ff6b0a65a9c1a6c2af8ef4df75f638d4afc7 Mon Sep 17 00:00:00 2001 From: tottoto Date: Tue, 24 Feb 2026 06:53:43 +0900 Subject: [PATCH] Address tower-http deprecated warning (#3672) --- Cargo.lock | 40 +++++++++++++++--------------- axum/Cargo.toml | 4 +-- axum/src/handler/mod.rs | 5 +++- axum/src/routing/method_routing.rs | 9 +++++-- axum/src/routing/tests/merge.rs | 6 ++++- axum/src/routing/tests/mod.rs | 6 ++++- 6 files changed, 43 insertions(+), 27 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a37766f5..bc7a9b43 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -329,7 +329,7 @@ dependencies = [ "tokio-stream", "tokio-tungstenite", "tower 0.5.2", - "tower-http 0.6.6", + "tower-http 0.6.8", "tower-layer", "tower-service", "tracing", @@ -355,7 +355,7 @@ dependencies = [ "serde", "sync_wrapper 1.0.2", "tokio", - "tower-http 0.6.6", + "tower-http 0.6.8", "tower-layer", "tower-service", "tracing", @@ -396,7 +396,7 @@ dependencies = [ "tokio-stream", "tokio-util", "tower 0.5.2", - "tower-http 0.6.6", + "tower-http 0.6.8", "tower-layer", "tower-service", "tracing", @@ -1443,7 +1443,7 @@ dependencies = [ "serde_json", "tokio", "tower 0.5.2", - "tower-http 0.6.6", + "tower-http 0.6.8", "tracing", "tracing-subscriber", "zstd", @@ -1466,7 +1466,7 @@ version = "0.1.0" dependencies = [ "axum", "tokio", - "tower-http 0.6.6", + "tower-http 0.6.8", ] [[package]] @@ -1527,7 +1527,7 @@ dependencies = [ "axum", "serde", "tokio", - "tower-http 0.6.6", + "tower-http 0.6.8", "tracing", "tracing-subscriber", ] @@ -1562,7 +1562,7 @@ version = "0.1.0" dependencies = [ "axum", "tokio", - "tower-http 0.6.6", + "tower-http 0.6.8", "tracing-subscriber", ] @@ -1619,7 +1619,7 @@ dependencies = [ "axum", "tokio", "tower 0.5.2", - "tower-http 0.6.6", + "tower-http 0.6.8", "tracing", "tracing-subscriber", ] @@ -1678,7 +1678,7 @@ dependencies = [ "mongodb", "serde", "tokio", - "tower-http 0.6.6", + "tower-http 0.6.8", "tracing", "tracing-subscriber", ] @@ -1689,7 +1689,7 @@ version = "0.1.0" dependencies = [ "axum", "tokio", - "tower-http 0.6.6", + "tower-http 0.6.8", "tracing", "tracing-subscriber", ] @@ -1787,7 +1787,7 @@ dependencies = [ "reqwest 0.12.23", "tokio", "tokio-stream", - "tower-http 0.6.6", + "tower-http 0.6.8", "tracing", "tracing-subscriber", ] @@ -1856,7 +1856,7 @@ dependencies = [ "reqwest-eventsource", "tokio", "tokio-stream", - "tower-http 0.6.6", + "tower-http 0.6.8", "tracing", "tracing-subscriber", ] @@ -1868,7 +1868,7 @@ dependencies = [ "axum", "tokio", "tower 0.5.2", - "tower-http 0.6.6", + "tower-http 0.6.8", "tracing", "tracing-subscriber", ] @@ -1918,7 +1918,7 @@ dependencies = [ "serde_json", "tokio", "tower 0.5.2", - "tower-http 0.6.6", + "tower-http 0.6.8", "tracing", "tracing-subscriber", ] @@ -1965,7 +1965,7 @@ dependencies = [ "serde", "tokio", "tower 0.5.2", - "tower-http 0.6.6", + "tower-http 0.6.8", "tracing", "tracing-subscriber", "uuid", @@ -2003,7 +2003,7 @@ version = "0.1.0" dependencies = [ "axum", "tokio", - "tower-http 0.6.6", + "tower-http 0.6.8", "tracing", "tracing-subscriber", ] @@ -2058,7 +2058,7 @@ dependencies = [ "headers", "tokio", "tokio-tungstenite", - "tower-http 0.6.6", + "tower-http 0.6.8", "tracing", "tracing-subscriber", ] @@ -4253,7 +4253,7 @@ dependencies = [ "tokio-rustls 0.26.4", "tokio-util", "tower 0.5.2", - "tower-http 0.6.6", + "tower-http 0.6.8", "tower-service", "url", "wasm-bindgen", @@ -5514,9 +5514,9 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.6" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" +checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" dependencies = [ "async-compression", "base64 0.22.1", diff --git a/axum/Cargo.toml b/axum/Cargo.toml index 03e69051..cbe70342 100644 --- a/axum/Cargo.toml +++ b/axum/Cargo.toml @@ -90,7 +90,7 @@ tracing = { version = "0.1", default-features = false, optional = true } serde = { version = "1.0.211", optional = true } [dependencies.tower-http] -version = "0.6.0" +version = "0.6.8" optional = true features = [ # all tower-http features except (de)?compression-zstd which doesn't @@ -155,7 +155,7 @@ features = [ ] [dev-dependencies.tower-http] -version = "0.6.0" +version = "0.6.8" features = [ # all tower-http features except (de)?compression-zstd which doesn't # build on `--target armv5te-unknown-linux-musleabi` diff --git a/axum/src/handler/mod.rs b/axum/src/handler/mod.rs index 36c06b8d..135891f7 100644 --- a/axum/src/handler/mod.rs +++ b/axum/src/handler/mod.rs @@ -431,7 +431,10 @@ mod tests { let svc = handle .layer(( RequestBodyLimitLayer::new(1024), - TimeoutLayer::new(Duration::from_secs(10)), + TimeoutLayer::with_status_code( + StatusCode::REQUEST_TIMEOUT, + Duration::from_secs(10), + ), MapResponseBodyLayer::new(Body::new), )) .layer(MapRequestBodyLayer::new(Body::new)) diff --git a/axum/src/routing/method_routing.rs b/axum/src/routing/method_routing.rs index ed07c576..8cb2cf11 100644 --- a/axum/src/routing/method_routing.rs +++ b/axum/src/routing/method_routing.rs @@ -1412,6 +1412,7 @@ mod tests { assert_eq!(status, StatusCode::OK); } + #[allow(deprecated)] #[crate::test] async fn layer() { let mut svc = MethodRouter::new() @@ -1427,6 +1428,7 @@ mod tests { assert_eq!(status, StatusCode::UNAUTHORIZED); } + #[allow(deprecated)] #[crate::test] async fn route_layer() { let mut svc = MethodRouter::new() @@ -1442,7 +1444,7 @@ mod tests { assert_eq!(status, StatusCode::METHOD_NOT_ALLOWED); } - #[allow(dead_code)] + #[allow(dead_code, deprecated)] async fn building_complex_router() { let app = crate::Router::new().route( "/", @@ -1453,7 +1455,10 @@ mod tests { .merge(delete_service(ServeDir::new("."))) .fallback(|| async { StatusCode::NOT_FOUND }) .put(ok) - .layer(TimeoutLayer::new(Duration::from_secs(10))), + .layer(TimeoutLayer::with_status_code( + StatusCode::REQUEST_TIMEOUT, + Duration::from_secs(10), + )), ); let listener = tokio::net::TcpListener::bind("0.0.0.0:0").await.unwrap(); diff --git a/axum/src/routing/tests/merge.rs b/axum/src/routing/tests/merge.rs index b760184f..206eb8e9 100644 --- a/axum/src/routing/tests/merge.rs +++ b/axum/src/routing/tests/merge.rs @@ -127,7 +127,10 @@ async fn layer_and_handle_error() { let one = Router::new().route("/foo", get(|| async {})); let two = Router::new() .route("/timeout", get(std::future::pending::<()>)) - .layer(TimeoutLayer::new(Duration::from_millis(10))); + .layer(TimeoutLayer::with_status_code( + StatusCode::REQUEST_TIMEOUT, + Duration::from_millis(10), + )); let app = one.merge(two); let client = TestClient::new(app); @@ -364,6 +367,7 @@ async fn nesting_and_seeing_the_right_uri_ors_with_multi_segment_uris() { ); } +#[allow(deprecated)] #[crate::test] async fn middleware_that_return_early() { let private = Router::new() diff --git a/axum/src/routing/tests/mod.rs b/axum/src/routing/tests/mod.rs index bcd0e96a..f556ecb6 100644 --- a/axum/src/routing/tests/mod.rs +++ b/axum/src/routing/tests/mod.rs @@ -306,7 +306,10 @@ async fn wildcard_sees_whole_url() { async fn middleware_applies_to_routes_above() { let app = Router::new() .route("/one", get(std::future::pending::<()>)) - .layer(TimeoutLayer::new(Duration::ZERO)) + .layer(TimeoutLayer::with_status_code( + StatusCode::REQUEST_TIMEOUT, + Duration::ZERO, + )) .route("/two", get(|| async {})); let client = TestClient::new(app); @@ -481,6 +484,7 @@ async fn routing_to_router_panics() { TestClient::new(Router::new().route_service("/", Router::new())); } +#[allow(deprecated)] #[crate::test] async fn route_layer() { let app = Router::new()