1
2use std::result;
3use rustls::pki_types::InvalidDnsNameError;
4use thiserror::Error;
5
6#[derive(Debug, Error)]
7pub enum Error {
8 #[error("API usage error: {0}")]
9 ApiError(String),
10
11 #[error("Auth error: {0}")]
12 AuthError(String),
13
14 #[error("HTTP error: {0}")]
15 HttpError(String),
16
17 #[error("URL error: {0}")]
18 UrlError(String),
19
20 #[error("Unexpected record value: {0}")]
21 UnexpectedRecord(String),
22
23 #[error(transparent)]
24 AddrParseError(#[from] std::net::AddrParseError),
25
26 #[error(transparent)]
27 HostError(#[from] InvalidDnsNameError),
28
29 #[error(transparent)]
30 HyperError(#[from] hyper::Error),
31
32 #[error(transparent)]
33 HyperHttpError(#[from] hyper::http::Error),
34
35 #[error(transparent)]
36 IoError(#[from] std::io::Error),
37
38 #[error(transparent)]
39 JsonError(#[from] serde_json::Error),
40}
41
42pub type Result<T> = result::Result<T, Error>;