From 7c934f2a8304c27833dbcbe8a4db1cae4ccb8ac7 Mon Sep 17 00:00:00 2001 From: Tobias Bieniek Date: Fri, 27 Dec 2024 10:58:45 +0100 Subject: [PATCH] axum-core/macros: Avoid double `body_text()` calls in rejection macros (#3110) --- axum-core/src/macros.rs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/axum-core/src/macros.rs b/axum-core/src/macros.rs index aa99ba40..44db5b86 100644 --- a/axum-core/src/macros.rs +++ b/axum-core/src/macros.rs @@ -49,12 +49,14 @@ macro_rules! __define_rejection { impl $crate::response::IntoResponse for $name { fn into_response(self) -> $crate::response::Response { + let status = self.status(); + $crate::__log_rejection!( rejection_type = $name, body_text = $body, - status = http::StatusCode::$status, + status = status, ); - (self.status(), $body).into_response() + (status, $body).into_response() } } @@ -106,12 +108,15 @@ macro_rules! __define_rejection { impl $crate::response::IntoResponse for $name { fn into_response(self) -> $crate::response::Response { + let status = self.status(); + let body_text = self.body_text(); + $crate::__log_rejection!( rejection_type = $name, - body_text = self.body_text(), - status = http::StatusCode::$status, + body_text = body_text, + status = status, ); - (self.status(), self.body_text()).into_response() + (status, body_text).into_response() } }