From 0f50bd51fdebcdceae13b71c543a383dae5244a0 Mon Sep 17 00:00:00 2001 From: Tobias Bieniek Date: Thu, 26 Dec 2024 23:17:00 +0100 Subject: [PATCH] axum-core/macros: Avoid double `body_text()` calls in rejection macros --- 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 aa99ba402e..44db5b863c 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() } }