pub enum ResponsePayload<Payload = Box<RawValue>, ErrData = Box<RawValue>> {
Success(Payload),
Failure(ErrorPayload<ErrData>),
}Expand description
A JSON-RPC 2.0 response payload.
This enum covers both the success and error cases of a JSON-RPC 2.0
response. It is used to represent the result and error fields of a
response object.
§Note
This type does not implement Serialize or Deserialize directly. It is
deserialized as part of the Response type.
Variants§
Success(Payload)
A successful response payload.
Failure(ErrorPayload<ErrData>)
An error response payload.
Implementations§
Source§impl ResponsePayload<&RawValue, &RawValue>
impl ResponsePayload<&RawValue, &RawValue>
Sourcepub fn into_owned(self) -> ResponsePayload
pub fn into_owned(self) -> ResponsePayload
Convert this borrowed response payload into an owned payload by copying the data from the deserializer (if necessary).
Source§impl<Payload, ErrData> ResponsePayload<Payload, ErrData>
impl<Payload, ErrData> ResponsePayload<Payload, ErrData>
Sourcepub const fn parse_error() -> Self
pub const fn parse_error() -> Self
Create a new error payload for a parse error.
Sourcepub const fn invalid_request() -> Self
pub const fn invalid_request() -> Self
Create a new error payload for an invalid request.
Sourcepub const fn method_not_found() -> Self
pub const fn method_not_found() -> Self
Create a new error payload for a method not found error.
Sourcepub const fn invalid_params() -> Self
pub const fn invalid_params() -> Self
Create a new error payload for an invalid params error.
Sourcepub const fn internal_error() -> Self
pub const fn internal_error() -> Self
Create a new error payload for an internal error.
Sourcepub const fn internal_error_message(message: Cow<'static, str>) -> Self
pub const fn internal_error_message(message: Cow<'static, str>) -> Self
Create a new error payload for an internal error with a custom message.
Sourcepub const fn internal_error_with_obj(data: ErrData) -> Selfwhere
ErrData: RpcSend,
pub const fn internal_error_with_obj(data: ErrData) -> Selfwhere
ErrData: RpcSend,
Create a new error payload for an internal error with a custom message and additional data.
Sourcepub const fn internal_error_with_message_and_obj(
message: Cow<'static, str>,
data: ErrData,
) -> Selfwhere
ErrData: RpcSend,
pub const fn internal_error_with_message_and_obj(
message: Cow<'static, str>,
data: ErrData,
) -> Selfwhere
ErrData: RpcSend,
Create a new error payload for an internal error with a custom message and additional data.
Sourcepub const fn as_success(&self) -> Option<&Payload>
pub const fn as_success(&self) -> Option<&Payload>
Fallible conversion to the successful payload.
Sourcepub const fn as_error(&self) -> Option<&ErrorPayload<ErrData>>
pub const fn as_error(&self) -> Option<&ErrorPayload<ErrData>>
Fallible conversion to the error object.
Sourcepub fn try_into_success(self) -> Result<Payload, ErrorPayload<ErrData>>
pub fn try_into_success(self) -> Result<Payload, ErrorPayload<ErrData>>
Converts this type into a Result returning the ErrorPayload as Err.
Sourcepub fn error_code(&self) -> Option<i64>
pub fn error_code(&self) -> Option<i64>
Returns the error code if this a ResponsePayload::Failure
Sourcepub fn error_data(&self) -> Option<&ErrData>
pub fn error_data(&self) -> Option<&ErrData>
Returns the error data if this a ResponsePayload::Failure
Sourcepub const fn is_success(&self) -> bool
pub const fn is_success(&self) -> bool
Returns true if the response payload is a success.
Source§impl<Payload, ErrData> ResponsePayload<Payload, ErrData>
impl<Payload, ErrData> ResponsePayload<Payload, ErrData>
Sourcepub fn serialize_payload(&self) -> Result<ResponsePayload>
pub fn serialize_payload(&self) -> Result<ResponsePayload>
Convert the inner types into a RawValue by serializing them.
Source§impl<'a, Payload, ErrData> ResponsePayload<Payload, ErrData>
impl<'a, Payload, ErrData> ResponsePayload<Payload, ErrData>
Sourcepub fn try_success_as<T: Deserialize<'a>>(&'a self) -> Option<Result<T>>
pub fn try_success_as<T: Deserialize<'a>>(&'a self) -> Option<Result<T>>
Attempt to deserialize the success payload, borrowing from the payload if necessary.
§Returns
Noneif the payload is an errorSome(Ok(T))if the payload is a success and can be deserializedSome(Err(serde_json::Error))if the payload is a success and can’t be deserialized asT
Sourcepub fn deserialize_success<T: DeserializeOwned>(
self,
) -> Result<ResponsePayload<T, ErrData>, Self>
pub fn deserialize_success<T: DeserializeOwned>( self, ) -> Result<ResponsePayload<T, ErrData>, Self>
Deserialize a Success payload, if possible, transforming this type.
§Returns
Ok(ResponsePayload<T>)if the payload is an error, or if the payload is a success and can be deserialized asTErr(self)if the payload is a success and can’t be deserialized
Source§impl<'a, Payload, Data> ResponsePayload<Payload, Data>
impl<'a, Payload, Data> ResponsePayload<Payload, Data>
Sourcepub fn try_error_as<T: Deserialize<'a>>(&'a self) -> Option<Result<T>>
pub fn try_error_as<T: Deserialize<'a>>(&'a self) -> Option<Result<T>>
Attempt to deserialize the error payload, borrowing from the payload if necessary.
§Returns
Noneif the payload is a successSome(Ok(T))if the payload is an error and can be deserializedSome(Err(serde_json::Error))if the payload is an error and can’t be deserialized asT
Sourcepub fn deserialize_error<T: DeserializeOwned>(
self,
) -> Result<ResponsePayload<Payload, T>, Self>
pub fn deserialize_error<T: DeserializeOwned>( self, ) -> Result<ResponsePayload<Payload, T>, Self>
Deserialize an Error payload, if possible, transforming this type.
§Returns
Ok(ResponsePayload<Payload, T>)if the payload is an error, or if the payload is an error and can be deserialized asT.Err(self)if the payload is an error and can’t be deserialized.
Trait Implementations§
Source§impl<Payload: Clone, ErrData: Clone> Clone for ResponsePayload<Payload, ErrData>
impl<Payload: Clone, ErrData: Clone> Clone for ResponsePayload<Payload, ErrData>
Source§fn clone(&self) -> ResponsePayload<Payload, ErrData>
fn clone(&self) -> ResponsePayload<Payload, ErrData>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<Payload: PartialEq, ErrData: PartialEq> PartialEq for ResponsePayload<Payload, ErrData>
impl<Payload: PartialEq, ErrData: PartialEq> PartialEq for ResponsePayload<Payload, ErrData>
Source§fn eq(&self, other: &ResponsePayload<Payload, ErrData>) -> bool
fn eq(&self, other: &ResponsePayload<Payload, ErrData>) -> bool
self and other values to be equal, and is used by ==.impl<Payload: Eq, ErrData: Eq> Eq for ResponsePayload<Payload, ErrData>
impl<Payload, ErrData> StructuralPartialEq for ResponsePayload<Payload, ErrData>
Auto Trait Implementations§
impl<Payload, ErrData> Freeze for ResponsePayload<Payload, ErrData>
impl<Payload, ErrData> RefUnwindSafe for ResponsePayload<Payload, ErrData>where
Payload: RefUnwindSafe,
ErrData: RefUnwindSafe,
impl<Payload, ErrData> Send for ResponsePayload<Payload, ErrData>
impl<Payload, ErrData> Sync for ResponsePayload<Payload, ErrData>
impl<Payload, ErrData> Unpin for ResponsePayload<Payload, ErrData>
impl<Payload, ErrData> UnwindSafe for ResponsePayload<Payload, ErrData>where
Payload: UnwindSafe,
ErrData: UnwindSafe,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.