summaryrefslogtreecommitdiffstats
path: root/ipfs-api-prelude/src/error.rs
diff options
context:
space:
mode:
authorFerris Tseng <ferristseng@fastmail.fm>2021-02-22 22:56:04 -0500
committerFerris Tseng <ferristseng@fastmail.fm>2021-02-22 22:56:04 -0500
commit4ede307efb87bad2627190665279123e588a3494 (patch)
tree22795c2bc10d96e34a126863ef01e6b86ea9a5a3 /ipfs-api-prelude/src/error.rs
parent89519b4c5ce4839a362ab9ec9c6359f3c6aa844b (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.rs17
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),
}