From 902a3941b70dc02569f9a66adbd92d29ff407851 Mon Sep 17 00:00:00 2001 From: Jonas Platte Date: Thu, 27 Mar 2025 17:06:20 +0100 Subject: [PATCH] Remove useless into_response calls Route::new applies a `map_response(into_response)` already, so the service being given to it doesn't have to involve an into_response call itself. --- axum/src/routing/method_routing.rs | 10 +++------- axum/src/routing/route.rs | 6 +----- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/axum/src/routing/method_routing.rs b/axum/src/routing/method_routing.rs index 2c03e7d5..ebe2a527 100644 --- a/axum/src/routing/method_routing.rs +++ b/axum/src/routing/method_routing.rs @@ -19,7 +19,7 @@ use std::{ fmt, task::{Context, Poll}, }; -use tower::{service_fn, util::MapResponseLayer}; +use tower::service_fn; use tower_layer::Layer; use tower_service::Service; @@ -748,7 +748,7 @@ where /// requests. pub fn new() -> Self { let fallback = Route::new(service_fn(|_: Request| async { - Ok(StatusCode::METHOD_NOT_ALLOWED.into_response()) + Ok(StatusCode::METHOD_NOT_ALLOWED) })); Self { @@ -1016,11 +1016,7 @@ where ); } - let layer_fn = move |svc| { - let svc = layer.layer(svc); - let svc = MapResponseLayer::new(IntoResponse::into_response).layer(svc); - Route::new(svc) - }; + let layer_fn = move |svc| Route::new(layer.layer(svc)); self.get = self.get.map(layer_fn.clone()); self.head = self.head.map(layer_fn.clone()); diff --git a/axum/src/routing/route.rs b/axum/src/routing/route.rs index e520bc1b..fe27d2e2 100644 --- a/axum/src/routing/route.rs +++ b/axum/src/routing/route.rs @@ -67,11 +67,7 @@ impl Route { >::Future: Send + 'static, NewError: 'static, { - let layer = ( - MapErrLayer::new(Into::into), - MapResponseLayer::new(IntoResponse::into_response), - layer, - ); + let layer = (MapErrLayer::new(Into::into), layer); Route::new(layer.layer(self)) }