Refactor error management in API part

This commit is contained in:
Alex Auvolat
2020-11-08 15:04:30 +01:00
parent 54166d2a09
commit a50fa70d45
16 changed files with 193 additions and 131 deletions
+1 -1
View File
@@ -373,7 +373,7 @@ impl System {
Message::AdvertiseNodesUp(adv) => self2.handle_advertise_nodes_up(&adv).await,
Message::AdvertiseConfig(adv) => self2.handle_advertise_config(&adv).await,
_ => Err(Error::BadRequest(format!("Unexpected RPC message"))),
_ => Err(Error::BadRPC(format!("Unexpected RPC message"))),
}
}
});
+4 -1
View File
@@ -61,7 +61,10 @@ where
let err_str = format!("{}", e);
let rep_bytes = rmp_to_vec_all_named::<Result<M, String>>(&Err(err_str))?;
let mut err_response = Response::new(Body::from(rep_bytes));
*err_response.status_mut() = e.http_status_code();
*err_response.status_mut() = match e {
Error::BadRPC(_) => StatusCode::BAD_REQUEST,
_ => StatusCode::INTERNAL_SERVER_ERROR,
};
warn!(
"RPC error ({}): {} ({} ms)",
name,