xnode_deployer/utils/
error.rs1use std::fmt::Display;
2
3#[cfg(feature = "hivelocity")]
4use crate::hivelocity::HivelocityError;
5
6#[derive(Debug)]
7pub enum Error {
8 XnodeDeployerError(XnodeDeployerError),
9 ReqwestError(reqwest::Error),
10}
11
12#[derive(Debug)]
13pub struct XnodeDeployerError {
14 error: Box<XnodeDeployerErrorInner>,
15}
16
17impl Display for XnodeDeployerError {
18 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
19 self.error.fmt(f)
20 }
21}
22
23#[derive(Debug)]
24pub enum XnodeDeployerErrorInner {
25 Default,
26 #[cfg(feature = "hivelocity")]
27 HivelocityError(HivelocityError),
28}
29
30impl Display for XnodeDeployerErrorInner {
31 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
32 f.write_str(
33 match self {
34 XnodeDeployerErrorInner::Default => "".to_string(),
35 #[cfg(feature = "hivelocity")]
36 XnodeDeployerErrorInner::HivelocityError(e) => e.to_string(),
37 }
38 .as_str(),
39 )
40 }
41}
42
43impl XnodeDeployerError {
44 pub fn new(error: XnodeDeployerErrorInner) -> Self {
45 Self {
46 error: Box::new(error),
47 }
48 }
49}