1use thiserror::Error as ThisError;
2
3#[derive(Debug, ThisError)]
5pub enum Error {
6 #[error("IO error: `{0}`")]
8 IoError(#[from] std::io::Error),
9 #[error("TOML parsing error: `{0}`")]
11 TomlError(#[from] toml::de::Error),
12 #[error("Request error: `{0}`")]
14 RequestError(#[from] Box<ureq::Error>),
15 #[error("Upload error: `{0}`")]
17 UploadError(String),
18 #[error("Delete error: `{0}`")]
20 DeleteError(String),
21 #[error("No rustypaste server address is given.")]
23 NoServerAddressError,
24 #[error("Multipart IO error: `{0}`")]
26 MultipartIOError(#[from] multipart::client::lazy::LazyError<'static, std::io::Error>),
27 #[error("URL parsing error: `{0}`")]
29 UrlParseError(#[from] url::ParseError),
30 #[error("Template parsing error: `{0}`")]
32 TemplateParseError(#[from] indicatif::style::TemplateError),
33}
34
35pub type Result<T> = std::result::Result<T, Error>;