From efc1f57b1596f2c1ece9a83dd2e8d64566ab4cc1 Mon Sep 17 00:00:00 2001 From: Brad Dunbar Date: Thu, 30 Oct 2025 08:40:00 -0400 Subject: [PATCH] Use extensions directly in from_request_parts (#3542) --- axum-extra/src/extract/cached.rs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/axum-extra/src/extract/cached.rs b/axum-extra/src/extract/cached.rs index 8dfde30d..0b299d2b 100644 --- a/axum-extra/src/extract/cached.rs +++ b/axum-extra/src/extract/cached.rs @@ -1,4 +1,4 @@ -use axum::extract::{Extension, FromRequestParts}; +use axum::extract::FromRequestParts; use http::request::Parts; /// Cache results of other extractors. @@ -88,10 +88,8 @@ where type Rejection = T::Rejection; async fn from_request_parts(parts: &mut Parts, state: &S) -> Result { - if let Ok(Extension(CachedEntry(value))) = - Extension::>::from_request_parts(parts, state).await - { - Ok(Self(value)) + if let Some(value) = parts.extensions.get::>() { + Ok(Self(value.0.clone())) } else { let value = T::from_request_parts(parts, state).await?; parts.extensions.insert(CachedEntry(value.clone()));