mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-21 22:04:44 +00:00
Misc. dependency cleanup (#6810)
* remove ensure_dir_exists (2 deps saved) * group UNHANDLED_ERRORs into a generic (2 deps saved) * Introduce separate `health_metrics` crate * separate health_metrics crate * remove metrics from warp_utils * move ProcessHealth::observe and SystemHealth::observe to health_metrics * fix errors * nitpick `Cargo.toml`s --------- Co-authored-by: Daniel Knopik <daniel@dknopik.de> # Conflicts: # Cargo.toml
This commit is contained in:
@@ -2,6 +2,7 @@ use eth2::types::{ErrorMessage, Failure, IndexedErrorMessage};
|
||||
use std::convert::Infallible;
|
||||
use std::error::Error;
|
||||
use std::fmt;
|
||||
use std::fmt::Debug;
|
||||
use warp::{http::StatusCode, reject::Reject, reply::Response, Reply};
|
||||
|
||||
#[derive(Debug)]
|
||||
@@ -19,15 +20,6 @@ pub fn server_sent_event_error(s: String) -> ServerSentEventError {
|
||||
ServerSentEventError(s)
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct BeaconChainError(pub beacon_chain::BeaconChainError);
|
||||
|
||||
impl Reject for BeaconChainError {}
|
||||
|
||||
pub fn beacon_chain_error(e: beacon_chain::BeaconChainError) -> warp::reject::Rejection {
|
||||
warp::reject::custom(BeaconChainError(e))
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct BeaconStateError(pub types::BeaconStateError);
|
||||
|
||||
@@ -47,21 +39,12 @@ pub fn arith_error(e: safe_arith::ArithError) -> warp::reject::Rejection {
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct SlotProcessingError(pub state_processing::SlotProcessingError);
|
||||
pub struct UnhandledError(pub Box<dyn Debug + Send + Sync + 'static>);
|
||||
|
||||
impl Reject for SlotProcessingError {}
|
||||
impl Reject for UnhandledError {}
|
||||
|
||||
pub fn slot_processing_error(e: state_processing::SlotProcessingError) -> warp::reject::Rejection {
|
||||
warp::reject::custom(SlotProcessingError(e))
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct BlockProductionError(pub beacon_chain::BlockProductionError);
|
||||
|
||||
impl Reject for BlockProductionError {}
|
||||
|
||||
pub fn block_production_error(e: beacon_chain::BlockProductionError) -> warp::reject::Rejection {
|
||||
warp::reject::custom(BlockProductionError(e))
|
||||
pub fn unhandled_error<D: Debug + Send + Sync + 'static>(e: D) -> warp::reject::Rejection {
|
||||
warp::reject::custom(UnhandledError(Box::new(e)))
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
@@ -191,16 +174,7 @@ pub async fn handle_rejection(err: warp::Rejection) -> Result<impl warp::Reply,
|
||||
} else if let Some(e) = err.find::<warp::reject::InvalidQuery>() {
|
||||
code = StatusCode::BAD_REQUEST;
|
||||
message = format!("BAD_REQUEST: invalid query: {}", e);
|
||||
} else if let Some(e) = err.find::<crate::reject::BeaconChainError>() {
|
||||
code = StatusCode::INTERNAL_SERVER_ERROR;
|
||||
message = format!("UNHANDLED_ERROR: {:?}", e.0);
|
||||
} else if let Some(e) = err.find::<crate::reject::BeaconStateError>() {
|
||||
code = StatusCode::INTERNAL_SERVER_ERROR;
|
||||
message = format!("UNHANDLED_ERROR: {:?}", e.0);
|
||||
} else if let Some(e) = err.find::<crate::reject::SlotProcessingError>() {
|
||||
code = StatusCode::INTERNAL_SERVER_ERROR;
|
||||
message = format!("UNHANDLED_ERROR: {:?}", e.0);
|
||||
} else if let Some(e) = err.find::<crate::reject::BlockProductionError>() {
|
||||
} else if let Some(e) = err.find::<crate::reject::UnhandledError>() {
|
||||
code = StatusCode::INTERNAL_SERVER_ERROR;
|
||||
message = format!("UNHANDLED_ERROR: {:?}", e.0);
|
||||
} else if let Some(e) = err.find::<crate::reject::CustomNotFound>() {
|
||||
|
||||
Reference in New Issue
Block a user