cooplan_amqp_api_shared/api/input/
request_result_error.rs

1use std::fmt;
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Copy, Clone, Deserialize, Serialize, PartialEq, Debug)]
6pub enum RequestResultErrorKind {
7    InternalFailure,
8    MalformedRequest,
9}
10
11#[derive(Deserialize, Serialize, Debug)]
12pub struct RequestResultError {
13    kind: RequestResultErrorKind,
14    message: String,
15}
16
17impl RequestResultError {
18    pub fn new(kind: RequestResultErrorKind, message: impl Into<String>) -> RequestResultError {
19        RequestResultError {
20            kind,
21            message: message.into(),
22        }
23    }
24
25    pub fn kind(&self) -> RequestResultErrorKind {
26        self.kind
27    }
28
29    pub fn message(&self) -> &str {
30        &self.message
31    }
32}
33
34impl fmt::Display for RequestResultError {
35    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
36        write!(f, "{}", self.message)
37    }
38}