From 38c5961190abe7518da14de33126d1f4d4290b0f Mon Sep 17 00:00:00 2001 From: David Pedersen Date: Wed, 23 Nov 2022 18:47:58 +0100 Subject: [PATCH] fix some tests --- axum-extra/src/extract/cookie/private.rs | 2 +- axum-extra/src/extract/cookie/signed.rs | 2 +- axum-macros/src/lib.rs | 2 +- axum-macros/tests/from_ref/pass/basic.rs | 2 +- .../tests/from_request/pass/state_enum_via.rs | 2 +- .../from_request/pass/state_enum_via_parts.rs | 2 +- .../tests/from_request/pass/state_explicit.rs | 2 +- .../from_request/pass/state_explicit_parts.rs | 2 +- .../from_request/pass/state_field_explicit.rs | 2 +- .../from_request/pass/state_field_infer.rs | 2 +- .../tests/from_request/pass/state_via.rs | 2 +- .../from_request/pass/state_via_infer.rs | 2 +- .../from_request/pass/state_via_parts.rs | 2 +- .../from_request/pass/state_with_rejection.rs | 2 +- axum/src/docs/middleware.md | 4 +-- .../into_make_service_with_connect_info.md | 4 --- axum/src/docs/routing/route_service.md | 2 +- axum/src/extract/state.rs | 4 +-- axum/src/middleware/from_fn.rs | 2 +- axum/src/middleware/map_request.rs | 2 +- axum/src/middleware/map_response.rs | 2 +- axum/src/routing/mod.rs | 29 +------------------ 22 files changed, 23 insertions(+), 54 deletions(-) diff --git a/axum-extra/src/extract/cookie/private.rs b/axum-extra/src/extract/cookie/private.rs index 9fe6469a08..aebf1cf4e5 100644 --- a/axum-extra/src/extract/cookie/private.rs +++ b/axum-extra/src/extract/cookie/private.rs @@ -68,7 +68,7 @@ use std::{convert::Infallible, fmt, marker::PhantomData}; /// .route("/set", post(set_secret)) /// .route("/get", get(get_secret)) /// .with_state(state); -/// # let _: axum::routing::RouterService = app; +/// # let _: axum::Router = app; /// ``` /// /// If you have been using `Arc` you cannot implement `FromRef> for Key`. diff --git a/axum-extra/src/extract/cookie/signed.rs b/axum-extra/src/extract/cookie/signed.rs index edc601a361..462c65a1f5 100644 --- a/axum-extra/src/extract/cookie/signed.rs +++ b/axum-extra/src/extract/cookie/signed.rs @@ -86,7 +86,7 @@ use std::{convert::Infallible, fmt, marker::PhantomData}; /// .route("/sessions", post(create_session)) /// .route("/me", get(me)) /// .with_state(state); -/// # let _: axum::routing::RouterService = app; +/// # let _: axum::Router = app; /// ``` /// If you have been using `Arc` you cannot implement `FromRef> for Key`. /// You can use a new type instead: diff --git a/axum-macros/src/lib.rs b/axum-macros/src/lib.rs index 95f400aab9..053f2b0d3f 100644 --- a/axum-macros/src/lib.rs +++ b/axum-macros/src/lib.rs @@ -606,7 +606,7 @@ pub fn derive_typed_path(input: TokenStream) -> TokenStream { /// let app = Router::new() /// .route("/", get(handler).post(other_handler)) /// .with_state(state); -/// # let _: axum::routing::RouterService = app; +/// # let _: axum::Router = app; /// ``` /// /// [`FromRef`]: https://docs.rs/axum/latest/axum/extract/trait.FromRef.html diff --git a/axum-macros/tests/from_ref/pass/basic.rs b/axum-macros/tests/from_ref/pass/basic.rs index 055d63b8d9..e410e11a05 100644 --- a/axum-macros/tests/from_ref/pass/basic.rs +++ b/axum-macros/tests/from_ref/pass/basic.rs @@ -14,7 +14,7 @@ fn main() { auth_token: Default::default(), }; - let _: axum::routing::RouterService = Router::new() + let _: axum::Router = Router::new() .route("/", get(handler)) .with_state(state); } diff --git a/axum-macros/tests/from_request/pass/state_enum_via.rs b/axum-macros/tests/from_request/pass/state_enum_via.rs index 8da81901e1..632adb56ca 100644 --- a/axum-macros/tests/from_request/pass/state_enum_via.rs +++ b/axum-macros/tests/from_request/pass/state_enum_via.rs @@ -6,7 +6,7 @@ use axum::{ use axum_macros::FromRequest; fn main() { - let _: axum::routing::RouterService = Router::new() + let _: axum::Router = Router::new() .route("/a", get(|_: AppState| async {})) .route("/b", get(|_: InnerState| async {})) .with_state(AppState::default()); diff --git a/axum-macros/tests/from_request/pass/state_enum_via_parts.rs b/axum-macros/tests/from_request/pass/state_enum_via_parts.rs index 3d5b5b0bc3..664ff3ab4d 100644 --- a/axum-macros/tests/from_request/pass/state_enum_via_parts.rs +++ b/axum-macros/tests/from_request/pass/state_enum_via_parts.rs @@ -6,7 +6,7 @@ use axum::{ use axum_macros::FromRequestParts; fn main() { - let _: axum::routing::RouterService = Router::new() + let _: axum::Router = Router::new() .route("/a", get(|_: AppState| async {})) .route("/b", get(|_: InnerState| async {})) .route("/c", get(|_: AppState, _: InnerState| async {})) diff --git a/axum-macros/tests/from_request/pass/state_explicit.rs b/axum-macros/tests/from_request/pass/state_explicit.rs index bea2958d7b..aed9dad6d5 100644 --- a/axum-macros/tests/from_request/pass/state_explicit.rs +++ b/axum-macros/tests/from_request/pass/state_explicit.rs @@ -6,7 +6,7 @@ use axum::{ }; fn main() { - let _: axum::routing::RouterService = Router::new() + let _: axum::Router = Router::new() .route("/b", get(|_: Extractor| async {})) .with_state(AppState::default()); } diff --git a/axum-macros/tests/from_request/pass/state_explicit_parts.rs b/axum-macros/tests/from_request/pass/state_explicit_parts.rs index a4865fc85b..94f37cf6b8 100644 --- a/axum-macros/tests/from_request/pass/state_explicit_parts.rs +++ b/axum-macros/tests/from_request/pass/state_explicit_parts.rs @@ -7,7 +7,7 @@ use axum::{ use std::collections::HashMap; fn main() { - let _: axum::routing::RouterService = Router::new() + let _: axum::Router = Router::new() .route("/b", get(|_: Extractor| async {})) .with_state(AppState::default()); } diff --git a/axum-macros/tests/from_request/pass/state_field_explicit.rs b/axum-macros/tests/from_request/pass/state_field_explicit.rs index 1caccf461f..b6d003dc00 100644 --- a/axum-macros/tests/from_request/pass/state_field_explicit.rs +++ b/axum-macros/tests/from_request/pass/state_field_explicit.rs @@ -6,7 +6,7 @@ use axum::{ use axum_macros::FromRequest; fn main() { - let _: axum::routing::RouterService = Router::new() + let _: axum::Router = Router::new() .route("/", get(|_: Extractor| async {})) .with_state(AppState::default()); } diff --git a/axum-macros/tests/from_request/pass/state_field_infer.rs b/axum-macros/tests/from_request/pass/state_field_infer.rs index 08884dcb9f..a24861a162 100644 --- a/axum-macros/tests/from_request/pass/state_field_infer.rs +++ b/axum-macros/tests/from_request/pass/state_field_infer.rs @@ -6,7 +6,7 @@ use axum::{ use axum_macros::FromRequest; fn main() { - let _: axum::routing::RouterService = Router::new() + let _: axum::Router = Router::new() .route("/", get(|_: Extractor| async {})) .with_state(AppState::default()); } diff --git a/axum-macros/tests/from_request/pass/state_via.rs b/axum-macros/tests/from_request/pass/state_via.rs index 590ec53564..7d196b0395 100644 --- a/axum-macros/tests/from_request/pass/state_via.rs +++ b/axum-macros/tests/from_request/pass/state_via.rs @@ -6,7 +6,7 @@ use axum::{ use axum_macros::FromRequest; fn main() { - let _: axum::routing::RouterService = Router::new() + let _: axum::Router = Router::new() .route("/b", get(|_: (), _: AppState| async {})) .route("/c", get(|_: (), _: InnerState| async {})) .with_state(AppState::default()); diff --git a/axum-macros/tests/from_request/pass/state_via_infer.rs b/axum-macros/tests/from_request/pass/state_via_infer.rs index 50b4a1bc1c..40c52d8d4d 100644 --- a/axum-macros/tests/from_request/pass/state_via_infer.rs +++ b/axum-macros/tests/from_request/pass/state_via_infer.rs @@ -6,7 +6,7 @@ use axum::{ use axum_macros::FromRequest; fn main() { - let _: axum::routing::RouterService = Router::new() + let _: axum::Router = Router::new() .route("/b", get(|_: AppState| async {})) .with_state(AppState::default()); } diff --git a/axum-macros/tests/from_request/pass/state_via_parts.rs b/axum-macros/tests/from_request/pass/state_via_parts.rs index 2817e8327b..44da20dbf0 100644 --- a/axum-macros/tests/from_request/pass/state_via_parts.rs +++ b/axum-macros/tests/from_request/pass/state_via_parts.rs @@ -6,7 +6,7 @@ use axum::{ use axum_macros::FromRequestParts; fn main() { - let _: axum::routing::RouterService = Router::new() + let _: axum::Router = Router::new() .route("/a", get(|_: AppState, _: InnerState, _: String| async {})) .route("/b", get(|_: AppState, _: String| async {})) .route("/c", get(|_: InnerState, _: String| async {})) diff --git a/axum-macros/tests/from_request/pass/state_with_rejection.rs b/axum-macros/tests/from_request/pass/state_with_rejection.rs index aef3d9c773..9921add02b 100644 --- a/axum-macros/tests/from_request/pass/state_with_rejection.rs +++ b/axum-macros/tests/from_request/pass/state_with_rejection.rs @@ -8,7 +8,7 @@ use axum::{ use axum_macros::FromRequest; fn main() { - let _: axum::routing::RouterService = Router::new() + let _: axum::Router = Router::new() .route("/a", get(|_: Extractor| async {})) .with_state(AppState::default()); } diff --git a/axum/src/docs/middleware.md b/axum/src/docs/middleware.md index 603fac78e8..8ae44ff158 100644 --- a/axum/src/docs/middleware.md +++ b/axum/src/docs/middleware.md @@ -466,7 +466,7 @@ let app = Router::new() .route("/", get(handler)) .layer(MyLayer { state: state.clone() }) .with_state(state); -# let _: axum::routing::RouterService = app; +# let _: axum::Router = app; ``` # Passing state from middleware to handlers @@ -556,7 +556,7 @@ async fn rewrite_request_uri(req: Request, next: Next) -> Response { // this can be any `tower::Layer` let middleware = axum::middleware::from_fn(rewrite_request_uri); -let app = Router::new().into_service(); +let app = Router::new(); // apply the layer around the whole `Router` // this way the middleware will run before `Router` receives the request diff --git a/axum/src/docs/routing/into_make_service_with_connect_info.md b/axum/src/docs/routing/into_make_service_with_connect_info.md index 86165361e5..05ee750c56 100644 --- a/axum/src/docs/routing/into_make_service_with_connect_info.md +++ b/axum/src/docs/routing/into_make_service_with_connect_info.md @@ -2,10 +2,6 @@ Convert this router into a [`MakeService`], that will store `C`'s associated `ConnectInfo` in a request extension such that [`ConnectInfo`] can extract it. -This is a convenience method for routers that don't have any state (i.e. the -state type is `()`). Use [`RouterService::into_make_service_with_connect_info`] -otherwise. - This enables extracting things like the client's remote address. Extracting [`std::net::SocketAddr`] is supported out of the box: diff --git a/axum/src/docs/routing/route_service.md b/axum/src/docs/routing/route_service.md index 623c6cb628..a14323a933 100644 --- a/axum/src/docs/routing/route_service.md +++ b/axum/src/docs/routing/route_service.md @@ -69,7 +69,7 @@ use axum::{routing::get, Router}; let app = Router::new().route_service( "/", - Router::new().route("/foo", get(|| async {})).into_service(), + Router::new().route("/foo", get(|| async {})), ); # async { # axum::Server::bind(&"".parse().unwrap()).serve(app.into_make_service()).await.unwrap(); diff --git a/axum/src/extract/state.rs b/axum/src/extract/state.rs index 3563cef110..04ae7806d3 100644 --- a/axum/src/extract/state.rs +++ b/axum/src/extract/state.rs @@ -43,7 +43,7 @@ use std::{ /// ) { /// // use `state`... /// } -/// # let _: axum::routing::RouterService = app; +/// # let _: axum::Router = app; /// ``` /// /// ## Combining stateful routers @@ -209,7 +209,7 @@ use std::{ /// State(state): State, /// ) { /// } -/// # let _: axum::routing::RouterService = app; +/// # let _: axum::Router = app; /// ``` /// /// For convenience `FromRef` can also be derived using `#[derive(FromRef)]`. diff --git a/axum/src/middleware/from_fn.rs b/axum/src/middleware/from_fn.rs index cd28a60353..e15988ed62 100644 --- a/axum/src/middleware/from_fn.rs +++ b/axum/src/middleware/from_fn.rs @@ -137,7 +137,7 @@ pub fn from_fn(f: F) -> FromFnLayer { /// .route("/", get(|| async { /* ... */ })) /// .route_layer(middleware::from_fn_with_state(state.clone(), my_middleware)) /// .with_state(state); -/// # let _: axum::routing::RouterService = app; +/// # let _: axum::Router = app; /// ``` pub fn from_fn_with_state(state: S, f: F) -> FromFnLayer { FromFnLayer { diff --git a/axum/src/middleware/map_request.rs b/axum/src/middleware/map_request.rs index eeac81610a..6b17f7a0d4 100644 --- a/axum/src/middleware/map_request.rs +++ b/axum/src/middleware/map_request.rs @@ -152,7 +152,7 @@ pub fn map_request(f: F) -> MapRequestLayer { /// .route("/", get(|| async { /* ... */ })) /// .route_layer(map_request_with_state(state.clone(), my_middleware)) /// .with_state(state); -/// # let _: axum::routing::RouterService = app; +/// # let _: axum::Router = app; /// ``` pub fn map_request_with_state(state: S, f: F) -> MapRequestLayer { MapRequestLayer { diff --git a/axum/src/middleware/map_response.rs b/axum/src/middleware/map_response.rs index 3be34ab6b6..67a5110a4d 100644 --- a/axum/src/middleware/map_response.rs +++ b/axum/src/middleware/map_response.rs @@ -136,7 +136,7 @@ pub fn map_response(f: F) -> MapResponseLayer { /// .route("/", get(|| async { /* ... */ })) /// .route_layer(map_response_with_state(state.clone(), my_middleware)) /// .with_state(state); -/// # let _: axum::routing::RouterService = app; +/// # let _: axum::Router = app; /// ``` pub fn map_response_with_state(state: S, f: F) -> MapResponseLayer { MapResponseLayer { diff --git a/axum/src/routing/mod.rs b/axum/src/routing/mod.rs index 288ccdac89..853d92d83b 100644 --- a/axum/src/routing/mod.rs +++ b/axum/src/routing/mod.rs @@ -571,9 +571,6 @@ where /// # }; /// ``` /// - /// This is a convenience method for routers that don't have any state (i.e. the state type is - /// `()`). Use [`RouterService::into_make_service`] otherwise. - /// /// [`MakeService`]: tower::make::MakeService pub fn into_make_service(self) -> IntoMakeService { // call `Router::with_state` such that everything is turned into `Route` eagerly @@ -714,31 +711,7 @@ impl fmt::Debug for Fallback { } } -/// Like `Fallback` but without the `S` param so it can be stored in `RouterService` -pub(crate) enum FallbackRoute { - Default(Route), - Service(Route), -} - -impl fmt::Debug for FallbackRoute { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - match self { - Self::Default(inner) => f.debug_tuple("Default").field(inner).finish(), - Self::Service(inner) => f.debug_tuple("Service").field(inner).finish(), - } - } -} - -impl Clone for FallbackRoute { - fn clone(&self) -> Self { - match self { - Self::Default(inner) => Self::Default(inner.clone()), - Self::Service(inner) => Self::Service(inner.clone()), - } - } -} - -#[allow(clippy::large_enum_variant)] // This type is only used at init time, probably fine +#[allow(clippy::large_enum_variant)] enum Endpoint { MethodRouter(MethodRouter), Route(Route),