cooplan_amqp_api_shared/api/input/
request_result_error.rs1use 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}