From a50fa70d45f8b5af68d23d60c3bac2af4ecceb58 Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Sun, 8 Nov 2020 15:04:30 +0100 Subject: Refactor error management in API part --- src/util/error.rs | 37 ++----------------------------------- 1 file changed, 2 insertions(+), 35 deletions(-) (limited to 'src/util') diff --git a/src/util/error.rs b/src/util/error.rs index 0ca1afe7..e5dcf654 100644 --- a/src/util/error.rs +++ b/src/util/error.rs @@ -54,9 +54,6 @@ pub enum Error { #[error(display = "TOML decode error: {}", _0)] TomlDecode(#[error(source)] toml::de::Error), - #[error(display = "Timeout: {}", _0)] - RPCTimeout(#[error(source)] tokio::time::Elapsed), - #[error(display = "Tokio join error: {}", _0)] TokioJoin(#[error(source)] tokio::task::JoinError), @@ -66,14 +63,8 @@ pub enum Error { #[error(display = "Remote error: {} (status code {})", _0, _1)] RemoteError(String, StatusCode), - #[error(display = "Bad request: {}", _0)] - BadRequest(String), - - #[error(display = "Forbidden: {}", _0)] - Forbidden(String), - - #[error(display = "Not found")] - NotFound, + #[error(display = "Bad RPC: {}", _0)] + BadRPC(String), #[error(display = "Corrupt data: does not match hash {:?}", _0)] CorruptData(Hash), @@ -82,18 +73,6 @@ pub enum Error { Message(String), } -impl Error { - pub fn http_status_code(&self) -> StatusCode { - match self { - Error::BadRequest(_) => StatusCode::BAD_REQUEST, - Error::NotFound => StatusCode::NOT_FOUND, - Error::Forbidden(_) => StatusCode::FORBIDDEN, - Error::RPC(_) => StatusCode::SERVICE_UNAVAILABLE, - _ => StatusCode::INTERNAL_SERVER_ERROR, - } - } -} - impl From> for Error { fn from(e: sled::TransactionError) -> Error { match e { @@ -114,15 +93,3 @@ impl From> for Error { Error::Message(format!("MPSC send error")) } } - -impl From for Error { - fn from(e: std::str::Utf8Error) -> Error { - Error::BadRequest(format!("Invalid UTF-8: {}", e)) - } -} - -impl From for Error { - fn from(e: roxmltree::Error) -> Error { - Error::BadRequest(format!("Invalid XML: {}", e)) - } -} -- cgit v1.2.3