pub struct RpcError {
pub code: ErrorCode,
pub message: String,
pub data: ErrorData,
}Expand description
The canonical DIG-node RPC error object: {code, message, data:{code, origin}}.
Build one with RpcError::new (or the code-specific helpers) so the numeric
code, the data.code machine string, and the origin can never drift apart.
Fields§
§code: ErrorCodeThe numeric wire code.
message: StringA human-readable message. May be refined over time; data.code is the
stable branch key.
data: ErrorDataStructured, machine-branchable context.
Implementations§
Source§impl RpcError
impl RpcError
Sourcepub fn new(
code: ErrorCode,
message: impl Into<String>,
origin: ErrorOrigin,
) -> RpcError
pub fn new( code: ErrorCode, message: impl Into<String>, origin: ErrorOrigin, ) -> RpcError
The single constructor: mint the canonical envelope from a code, a
message, and an origin. data.code is derived from code so the two
can never disagree.
Sourcepub fn of(code: ErrorCode, message: impl Into<String>) -> RpcError
pub fn of(code: ErrorCode, message: impl Into<String>) -> RpcError
Mint an error using the code’s default origin.
Sourcepub fn code_only(code: ErrorCode) -> RpcError
pub fn code_only(code: ErrorCode) -> RpcError
Mint an error using both the code’s default origin and its default message.
Sourcepub fn with_redirect(self, redirect: RedirectInfo) -> RpcError
pub fn with_redirect(self, redirect: RedirectInfo) -> RpcError
Attach a RedirectInfo payload (for
ContentRedirect).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for RpcError
impl<'de> Deserialize<'de> for RpcError
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<RpcError, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<RpcError, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Error for RpcError
impl Error for RpcError
1.30.0 · 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 Serialize for RpcError
impl Serialize for RpcError
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for RpcError
Auto Trait Implementations§
impl Freeze for RpcError
impl RefUnwindSafe for RpcError
impl Send for RpcError
impl Sync for RpcError
impl Unpin for RpcError
impl UnsafeUnpin for RpcError
impl UnwindSafe for RpcError
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