mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-28 04:04:55 +08:00
fix(router): handle empty body parse failures in bad request logger middleware (#3541)
This commit is contained in:
committed by
GitHub
parent
0d5cd711b2
commit
be22d60dda
@ -258,8 +258,8 @@ pub fn get_application_builder(
|
|||||||
.wrap(middleware::default_response_headers())
|
.wrap(middleware::default_response_headers())
|
||||||
.wrap(middleware::RequestId)
|
.wrap(middleware::RequestId)
|
||||||
.wrap(cors::cors())
|
.wrap(cors::cors())
|
||||||
.wrap(middleware::LogSpanInitializer)
|
|
||||||
// this middleware works only for Http1.1 requests
|
// this middleware works only for Http1.1 requests
|
||||||
.wrap(middleware::Http400RequestDetailsLogger)
|
.wrap(middleware::Http400RequestDetailsLogger)
|
||||||
|
.wrap(middleware::LogSpanInitializer)
|
||||||
.wrap(router_env::tracing_actix_web::TracingLogger::default())
|
.wrap(router_env::tracing_actix_web::TracingLogger::default())
|
||||||
}
|
}
|
||||||
|
|||||||
@ -258,13 +258,24 @@ where
|
|||||||
let response = response_fut.await?;
|
let response = response_fut.await?;
|
||||||
// Log the request_details when we receive 400 status from the application
|
// Log the request_details when we receive 400 status from the application
|
||||||
if response.status() == 400 {
|
if response.status() == 400 {
|
||||||
let value: serde_json::Value = serde_json::from_slice(&bytes)?;
|
|
||||||
let request_id = request_id_fut.await?.as_hyphenated().to_string();
|
let request_id = request_id_fut.await?.as_hyphenated().to_string();
|
||||||
logger::info!(
|
if !bytes.is_empty() {
|
||||||
"request_id: {}, request_details: {}",
|
let value_result: Result<serde_json::Value, serde_json::Error> =
|
||||||
request_id,
|
serde_json::from_slice(&bytes);
|
||||||
get_request_details_from_value(&value, "")
|
match value_result {
|
||||||
);
|
Ok(value) => {
|
||||||
|
logger::info!(
|
||||||
|
"request_id: {request_id}, request_details: {}",
|
||||||
|
get_request_details_from_value(&value, "")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
Err(err) => {
|
||||||
|
logger::warn!("error while parsing the request in json value: {err}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
logger::info!("request_id: {request_id}, request_details: Empty Body");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Ok(response)
|
Ok(response)
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user