mithril_common/entities/
http_server_error.rs1use std::fmt::Display;
2
3use serde::{Deserialize, Serialize};
4
5use crate::StdError;
6
7#[derive(Clone, Debug, PartialEq, Eq, Default, Serialize, Deserialize)]
9pub struct ServerError {
10 pub message: String,
12}
13
14impl ServerError {
15 pub fn new<M: Into<String>>(message: M) -> ServerError {
17 ServerError {
18 message: message.into(),
19 }
20 }
21}
22
23impl Display for ServerError {
24 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
25 write!(f, "{}", self.message)
26 }
27}
28
29impl From<String> for ServerError {
30 fn from(message: String) -> Self {
31 ServerError::new(message)
32 }
33}
34
35impl From<&str> for ServerError {
36 fn from(message: &str) -> Self {
37 ServerError::new(message.to_string())
38 }
39}
40
41impl From<StdError> for ServerError {
42 fn from(error: StdError) -> Self {
43 ServerError::new(format!("{error:?}"))
44 }
45}
46
47#[derive(Clone, Debug, PartialEq, Eq, Default, Serialize, Deserialize)]
49pub struct ClientError {
50 pub label: String,
52
53 pub message: String,
55}
56
57impl ClientError {
58 pub fn new<L: Into<String>, M: Into<String>>(label: L, message: M) -> ClientError {
60 ClientError {
61 label: label.into(),
62 message: message.into(),
63 }
64 }
65}
66
67impl Display for ClientError {
68 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
69 write!(f, "{}: {}", self.label, self.message)
70 }
71}