use std::io;
use thiserror::Error;
use url::ParseError;
#[derive(Error, Debug)]
pub enum UbiClientError {
#[error("HTTP Request error")]
ReqwestError(#[from] reqwest::Error),
#[error("Failed during URL parsing")]
URLParseError(#[from] ParseError),
#[error("Failed during IO operation")]
IOError(#[from] io::Error),
#[error("Unsupported method ")]
UnsupportedMethod,
#[error("Failed during Serde operation")]
SerdeError(#[from] serde_json::Error),
#[error("Failed during parsing APIResponse: {message:?} and type {etype:?} {details:?}")]
APIResponseError {
etype: String,
message: String,
details: Option<String>,
},
}