diff options
Diffstat (limited to 'kittybox-rs/util')
-rw-r--r-- | kittybox-rs/util/src/error.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/kittybox-rs/util/src/error.rs b/kittybox-rs/util/src/error.rs index 7edf176..1c95020 100644 --- a/kittybox-rs/util/src/error.rs +++ b/kittybox-rs/util/src/error.rs @@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize}; use http::StatusCode; use axum_core::response::{Response, IntoResponse}; -#[derive(Serialize, Deserialize, PartialEq, Debug)] +#[derive(Serialize, Deserialize, PartialEq, Eq, Debug)] #[serde(rename_all = "snake_case")] /// Kinds of errors that can happen within a Micropub operation. pub enum ErrorType { @@ -27,7 +27,9 @@ pub enum ErrorType { /// Representation of the Micropub API error. #[derive(Serialize, Deserialize, Debug)] pub struct MicropubError { + /// General kind of an error that occured. pub error: ErrorType, + /// A human-readable error description intended for application developers. // TODO use Cow<'static, str> to save on heap allocations pub error_description: String, } @@ -52,6 +54,7 @@ impl From<serde_json::Error> for MicropubError { } impl MicropubError { + /// Create a new Micropub error. pub fn new(error: ErrorType, error_description: &str) -> Self { Self { error, |