pub enum Error {
Argument {
message: String,
},
Response {
method: String,
url: String,
status: u16,
status_text: String,
body: Vec<u8>,
},
LengthMismatch {
kind: &'static str,
expected: &'static [usize],
got: usize,
},
Hex(FromHexError),
Crypto(String),
Json(Error),
Transport(Error),
Other(String),
}Expand description
All errors surfaced from bee-rs.
Error::Argument— caller passed invalid input. Mirrors bee-js / bee-goBeeArgumentError.Error::Response— Bee returned a non-2xx status. Mirrors bee-js / bee-goBeeResponseError.Error::LengthMismatch— typed-byte constructor rejected a value whose length didn’t match any allowed size.Error::Hex— hex decoding failed.Error::Crypto— secp256k1 / keccak operation failed.Error::Json— JSON decode/encode failed.Error::Transport— transport error fromreqwest.Error::Other— fallback wrapper for anything else.
Variants§
Argument
Invalid argument from the caller.
Response
Non-2xx HTTP response from Bee.
Fields
§
body: Vec<u8>Response body, truncated to RESPONSE_BODY_CAP bytes.
LengthMismatch
Typed-byte constructor received a value of the wrong length.
Fields
Hex(FromHexError)
Hex decoding failed.
Crypto(String)
Crypto primitive (secp256k1 / keccak) failed.
Json(Error)
JSON encode/decode failed.
Transport(Error)
Transport-level error (TCP / TLS / DNS).
Other(String)
Catch-all for errors that don’t fit the specific variants.
Implementations§
Source§impl Error
impl Error
Sourcepub fn argument<M: Into<String>>(msg: M) -> Self
pub fn argument<M: Into<String>>(msg: M) -> Self
Build an Error::Argument.
Sourcepub fn crypto<M: Display>(msg: M) -> Self
pub fn crypto<M: Display>(msg: M) -> Self
Build an Error::Crypto.
Sourcepub fn is_response(&self) -> bool
pub fn is_response(&self) -> bool
True if this error is an HTTP response error.
Trait Implementations§
Source§impl Error for Error
impl Error for Error
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl From<FromHexError> for Error
impl From<FromHexError> for Error
Source§fn from(source: FromHexError) -> Self
fn from(source: FromHexError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for Error
impl !RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnsafeUnpin for Error
impl !UnwindSafe for Error
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.