Skip to main content

imgurs_model/
error.rs

1//! Error module
2use std::error::Error;
3use std::fmt;
4
5use serde::{Deserialize, Serialize};
6
7/// String based error message
8#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
9#[serde(deny_unknown_fields)]
10pub struct ErrorMessage(pub String);
11
12impl ErrorMessage {
13    /// `ErrorMessage` constructor
14    pub fn new<T>(message: T) -> Self
15    where
16        T: Into<String>,
17    {
18        ErrorMessage(message.into())
19    }
20}
21
22impl fmt::Display for ErrorMessage {
23    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
24        write!(f, "{}", self.0)
25    }
26}
27
28impl Error for ErrorMessage {}