added some error logging for extractors

This commit is contained in:
dowwie 2019-04-10 13:13:54 -04:00
parent 046b7a1425
commit 96baadde7a
4 changed files with 11 additions and 2 deletions

View File

@ -96,6 +96,7 @@ impl<T: 'static, P> FromRequest<P> for Data<T> {
if let Some(st) = req.app_config().extensions().get::<Data<T>>() {
Ok(st.clone())
} else {
log::error!("Failed to construct App-level Data extractor");
Err(ErrorInternalServerError(
"App data is not configured, to configure use App::data()",
))
@ -235,6 +236,7 @@ impl<T: 'static, P> FromRequest<P> for RouteData<T> {
if let Some(st) = req.route_data::<T>() {
Ok(st.clone())
} else {
log::error!("Failed to construct Route-level Data extractor");
Err(ErrorInternalServerError(
"Route data is not configured, to configure use Route::data()",
))

View File

@ -183,6 +183,7 @@ where
JsonBody::new(req, payload)
.limit(limit)
.map_err(move |e| {
log::error!("Failed to deserialize Json from payload");
if let Some(err) = err {
(*err)(e, &req2)
} else {

View File

@ -162,7 +162,10 @@ where
#[inline]
fn from_request(req: &HttpRequest, _: &mut Payload<P>) -> Self::Future {
de::Deserialize::deserialize(PathDeserializer::new(req.match_info()))
.map(|inner| Path { inner })
.map(|inner| {
log::error!("Failed to deserialize during Path extractor");
Path { inner }
})
.map_err(ErrorNotFound)
}
}

View File

@ -122,6 +122,9 @@ where
fn from_request(req: &HttpRequest, _: &mut Payload<P>) -> Self::Future {
serde_urlencoded::from_str::<T>(req.query_string())
.map(|val| Ok(Query(val)))
.unwrap_or_else(|e| Err(e.into()))
.unwrap_or_else(|e| {
log::error!("Failed during Query extractor deserialization");
Err(e.into())
})
}
}