Improve error message of MissingExtension rejections (#72)

Now includes the name of missing type.
This commit is contained in:
David Pedersen
2021-08-01 15:50:57 +02:00
committed by GitHub
parent 6f30d4aa6a
commit 2cf28c6794
3 changed files with 8 additions and 2 deletions
+6 -1
View File
@@ -831,7 +831,12 @@ where
.extensions()
.ok_or(ExtensionsAlreadyExtracted)?
.get::<T>()
.ok_or(MissingExtension)
.ok_or_else(|| {
MissingExtension::from_err(format!(
"Extension of type `{}` was not found. Perhaps you forgot to add it?",
std::any::type_name::<T>()
))
})
.map(|x| x.clone())?;
Ok(Extension(value))
+1 -1
View File
@@ -66,7 +66,7 @@ define_rejection! {
#[body = "Missing request extension"]
/// Rejection type for [`Extension`](super::Extension) if an expected
/// request extension was not found.
pub struct MissingExtension;
pub struct MissingExtension(BoxError);
}
define_rejection! {