diff options
author | Ferris Tseng <ferristseng@fastmail.fm> | 2021-02-22 22:56:04 -0500 |
---|---|---|
committer | Ferris Tseng <ferristseng@fastmail.fm> | 2021-02-22 22:56:04 -0500 |
commit | 4ede307efb87bad2627190665279123e588a3494 (patch) | |
tree | 22795c2bc10d96e34a126863ef01e6b86ea9a5a3 /ipfs-api-prelude/src/error.rs | |
parent | 89519b4c5ce4839a362ab9ec9c6359f3c6aa844b (diff) |
centralize errors in prelude as much as possible
Diffstat (limited to 'ipfs-api-prelude/src/error.rs')
-rw-r--r-- | ipfs-api-prelude/src/error.rs | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/ipfs-api-prelude/src/error.rs b/ipfs-api-prelude/src/error.rs index 1b9bcaa..2c16c5b 100644 --- a/ipfs-api-prelude/src/error.rs +++ b/ipfs-api-prelude/src/error.rs @@ -6,7 +6,7 @@ // copied, modified, or distributed except according to those terms. // -use std::io; +use std::{io, string::FromUtf8Error}; use thiserror::Error; #[derive(Debug, Error)] @@ -15,14 +15,23 @@ pub enum Error { Io(#[from] io::Error), #[error("utf8 decoding error `{0}`")] + ParseUtf8(#[from] FromUtf8Error), + + #[error("json decoding error `{0}`")] Parse(#[from] serde_json::Error), - #[error("api returned an error while streaming: `{0}`")] + #[error("uri error `{0}`")] + Url(#[from] http::uri::InvalidUri), + + #[error("url encoding error `{0}`")] + EncodeUrl(#[from] serde_urlencoded::ser::Error), + + #[error("api returned an error while streaming `{0}`")] StreamError(String), - #[error("api got unrecognized trailer header: `{0}`")] + #[error("api got unrecognized trailer header `{0}`")] UnrecognizedTrailerHeader(String), - #[error("api returned an unknown error: `{0}`")] + #[error("api returned an unknown error `{0}`")] UnrecognizedApiError(String), } |