1use thiserror::Error;
2
3#[derive(Error, Debug)]
5pub enum Error {
6 #[error("Error returned by the API: status code {0} on path {1}")]
8 ApiError(String, String),
9 #[error("JSON error: {0}")]
11 JsonError(#[from] serde_json::Error),
12 #[error("UTF8 error: {0}")]
14 Utf8Error(#[from] std::str::Utf8Error),
15 #[error("UTF8 error: {0}")]
17 FromUtf8Error(#[from] std::string::FromUtf8Error),
18 #[error("Base64 error: {0}")]
20 Base64Error(#[from] base64::DecodeError),
21 #[error("HTTP error: {0}")]
23 HTTPError(#[from] reqwest::Error),
24 #[error("IO error: {0}")]
26 IOError(#[from] std::io::Error),
27 #[error("Must call setup() before using private_read()")]
29 NeedSetup,
30 #[error("Unknown error")]
32 Unknown,
33}