diff --git a/axum/Cargo.toml b/axum/Cargo.toml index c582696d24..5eeb761813 100644 --- a/axum/Cargo.toml +++ b/axum/Cargo.toml @@ -24,8 +24,8 @@ default = [ "tracing", ] form = ["dep:serde_urlencoded"] -http1 = ["dep:hyper", "hyper?/http1"] -http2 = ["dep:hyper", "hyper?/http2"] +http1 = ["dep:hyper", "hyper?/http1", "hyper-util?/http1"] +http2 = ["dep:hyper", "hyper?/http2", "hyper-util?/http2"] json = ["dep:serde_json", "dep:serde_path_to_error"] macros = ["dep:axum-macros"] matched-path = [] @@ -64,7 +64,7 @@ tower-service = "0.3" axum-macros = { path = "../axum-macros", version = "0.4.1", optional = true } base64 = { version = "0.21.0", optional = true } hyper = { version = "1.1.0", optional = true } -hyper-util = { version = "0.1.2", features = ["tokio", "server", "server-auto"], optional = true } +hyper-util = { version = "0.1.2", features = ["tokio", "server"], optional = true } multer = { version = "3.0.0", optional = true } serde_json = { version = "1.0", features = ["raw_value"], optional = true } serde_path_to_error = { version = "0.1.8", optional = true } diff --git a/axum/src/serve.rs b/axum/src/serve.rs index b253cb5def..a2df756b09 100644 --- a/axum/src/serve.rs +++ b/axum/src/serve.rs @@ -16,10 +16,9 @@ use std::{ use axum_core::{body::Body, extract::Request, response::Response}; use futures_util::{pin_mut, FutureExt}; use hyper::body::Incoming; -use hyper_util::{ - rt::{TokioExecutor, TokioIo}, - server::conn::auto::Builder, -}; +use hyper_util::rt::{TokioExecutor, TokioIo}; +#[cfg(any(feature = "http1", feature = "http2"))] +use hyper_util::server::conn::auto::Builder; use pin_project_lite::pin_project; use tokio::{ net::{TcpListener, TcpStream},