Skip to main content

ochami_rs/
error.rs

1use std::io;
2
3use serde_json::Value;
4
5#[derive(thiserror::Error, Debug)]
6pub enum Error {
7  #[error("OCHAMI-RS: {0}")]
8  Message(String),
9  #[error("OCHAMI-RS > IO: {0}")]
10  IoError(#[from] io::Error),
11  #[error("OCHAMI-RS > Serde: {0}")]
12  SerdeError(#[from] serde_json::Error),
13  #[error("OCHAMI-RS > Net: {0}")]
14  NetError(#[from] reqwest::Error),
15  #[error(
16    "OCHAMI-RS: http request:\nresponse: {response}\npayload: {payload}"
17  )]
18  RequestError {
19    response: reqwest::Error,
20    payload: String, // NOTE: CSM/OCHAMI Apis either returns plain text or a json therefore, we
21                     // will just return a String
22  },
23  #[error("OCHAMI-RS > OCHAMI: {0}")]
24  OchamiError(Value),
25}