mirror of
https://github.com/actix/actix-extras.git
synced 2024-11-27 17:22:57 +01:00
added some error logging for extractors: Data, Json, Query, and Path (#765)
* added some error logging for extractors * changed log::error to log::debug and fixed position of log for path * added request path to debug logs
This commit is contained in:
parent
9d82d4dfb9
commit
6ab9838977
@ -96,6 +96,8 @@ 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::debug!("Failed to construct App-level Data extractor. \
|
||||
Request path: {:?}", req.path());
|
||||
Err(ErrorInternalServerError(
|
||||
"App data is not configured, to configure use App::data()",
|
||||
))
|
||||
@ -235,6 +237,7 @@ impl<T: 'static, P> FromRequest<P> for RouteData<T> {
|
||||
if let Some(st) = req.route_data::<T>() {
|
||||
Ok(st.clone())
|
||||
} else {
|
||||
log::debug!("Failed to construct Route-level Data extractor");
|
||||
Err(ErrorInternalServerError(
|
||||
"Route data is not configured, to configure use Route::data()",
|
||||
))
|
||||
|
@ -179,10 +179,14 @@ where
|
||||
.map(|c| (c.limit, c.ehandler.clone()))
|
||||
.unwrap_or((32768, None));
|
||||
|
||||
let path = req.path().to_string();
|
||||
|
||||
Box::new(
|
||||
JsonBody::new(req, payload)
|
||||
.limit(limit)
|
||||
.map_err(move |e| {
|
||||
log::debug!("Failed to deserialize Json from payload. \
|
||||
Request path: {:?}", path);
|
||||
if let Some(err) = err {
|
||||
(*err)(e, &req2)
|
||||
} else {
|
||||
|
@ -122,6 +122,10 @@ 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::debug!("Failed during Query extractor deserialization. \
|
||||
Request path: {:?}", req.path());
|
||||
Err(e.into())
|
||||
})
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user