[−][src]Enum jrpc::Response
The Result is either:
- a jsonrpc Response (with a result of a specific type)
- a Error (with an error of type
serde_json::Value
).
Example
extern crate serde_json; use jrpc::{Id, Response}; let data: Vec<u32> = vec![1, 2, 3]; let example = Response::success(Id::from(4), data.clone()); let json = r#" { "jsonrpc": "2.0", "result": [1,2,3], "id": 4 } "#; let json = json.replace("\n", "").replace(" ", ""); let result = serde_json::to_string(&example).unwrap(); assert_eq!(json, result);
Variants
Ok(Success<T>)
The Response has a result
object and not an error
object.
The Response has a error
object and not an result
object.
Methods
impl<T: Serialize + DeserializeOwned> Response<T>
[src]
pub fn id(&self) -> &Id
[src]
Retrieve the id
regardless of whether there was an error or not.
pub fn success(id: Id, result: T) -> Self
[src]
Construct a Success
pub fn error<C, S>(id: Id, code: C, message: S, data: Option<Value>) -> Self where
C: Into<ErrorCode>,
S: Into<String>,
[src]
C: Into<ErrorCode>,
S: Into<String>,
Construct an Error
pub fn to_string(&self) -> String
[src]
Helper to serialize the Response as json.
pub fn from_str(s: &str) -> Result<T>
[src]
Helper to deserialize the Response from json.
Trait Implementations
impl<T: Debug> Debug for Response<T>
[src]
impl<T> Serialize for Response<T> where
T: Serialize,
[src]
T: Serialize,
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl<'de, T> Deserialize<'de> for Response<T> where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
Auto Trait Implementations
impl<T> Send for Response<T> where
T: Send,
T: Send,
impl<T> Sync for Response<T> where
T: Sync,
T: Sync,
impl<T> Unpin for Response<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for Response<T> where
T: UnwindSafe,
T: UnwindSafe,
impl<T> RefUnwindSafe for Response<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> DeserializeOwned for T where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,