summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Woolcock <paul@woolcock.us>2018-10-10 05:48:11 -0400
committerPaul Woolcock <paul@woolcock.us>2018-10-10 10:28:10 -0400
commitd524a64bfd65d789b0dd54434a848fccba505471 (patch)
treeb7bb508321be15b837fb9e8ef98ab8ee6b20f440
parenteb973a63c9bcef531bb30f16132b02fa9077f627 (diff)
Fix the error used here
The `MastodonBuilder` is going to be changed to be `pub` soon, so let's fix this redundant error variant now
-rw-r--r--src/errors.rs19
-rw-r--r--src/lib.rs2
2 files changed, 16 insertions, 5 deletions
diff --git a/src/errors.rs b/src/errors.rs
index 2c466ef..c836fae 100644
--- a/src/errors.rs
+++ b/src/errors.rs
@@ -40,9 +40,7 @@ pub enum Error {
Client(StatusCode),
/// Generic server error.
Server(StatusCode),
- /// MastodonBuilder error.
- DataMissing,
- /// AppBuilder error
+ /// MastodonBuilder & AppBuilder error
MissingField(&'static str),
#[cfg(feature = "toml")]
/// Error serializing to toml
@@ -54,6 +52,8 @@ pub enum Error {
HeaderStrError(HeaderStrError),
/// Error parsing the http Link header
HeaderParseError(HeaderParseError),
+ /// Other errors
+ Other(String),
}
impl fmt::Display for Error {
@@ -82,7 +82,6 @@ impl error::Error for Error {
Error::ClientIdRequired => "ClientIdRequired",
Error::ClientSecretRequired => "ClientSecretRequired",
Error::AccessTokenRequired => "AccessTokenRequired",
- Error::DataMissing => "DataMissing",
Error::MissingField(_) => "MissingField",
#[cfg(feature = "toml")]
Error::TomlSer(ref e) => e.description(),
@@ -90,6 +89,7 @@ impl error::Error for Error {
Error::TomlDe(ref e) => e.description(),
Error::HeaderStrError(ref e) => e.description(),
Error::HeaderParseError(ref e) => e.description(),
+ Error::Other(ref e) => e,
}
}
}
@@ -128,6 +128,17 @@ from! {
#[cfg(feature = "toml")] TomlDeError, TomlDe,
HeaderStrError, HeaderStrError,
HeaderParseError, HeaderParseError,
+ String, Other,
+}
+
+#[macro_export]
+macro_rules! format_err {
+ ( $( $arg:tt )* ) => {
+ {
+ use elefren::Error;
+ Error::Other(format!($($arg)*))
+ }
+ }
}
#[cfg(test)]
diff --git a/src/lib.rs b/src/lib.rs
index 6e63541..5aaceac 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -450,7 +450,7 @@ impl<H: HttpSend> MastodonBuilder<H> {
data,
}
} else {
- return Err(Error::DataMissing);
+ return Err(Error::MissingField("missing field 'data'"));
})
}
}