pub struct Challenge {
pub authmethod: String,
pub details: Value,
}
Expand description
§Challenge - wamp-proto
Represents an Challenge message in the WAMP protocol.
§Examples
use wamp_core::messages::Challenge;
use wamp_core::challenge;
use serde_json::json;
let challenge_message = Challenge {
authmethod: "authmethod".to_string(),
details: json!({})
};
§Serializer
Implements serde Serialize trait for Challenge
use wamp_core::messages::Challenge;
use serde_json::{json, to_string};
// Create an Challenge message
let challenge = Challenge {
authmethod: "authmethod".to_string(),
details: json!({ "key": "value" })
};
// Establish raw json data string
let data = r#"[4,"authmethod",{"key":"value"}]"#;
// Here we convert it from an `Challenge` frame, to a string representation.
let challenge = to_string(&challenge).unwrap();
// Confirm that our challenge frame strings are equal to each other
assert_eq!(challenge, data);
§Deserializer
Implements serde Deserialize trait for Challenge
use wamp_core::messages::Challenge;
use serde_json::from_str;
// Here is our raw json data string
let data = r#"[4,"authmethod",{}]"#;
// Here we convert it to an `Challenge` frame
let challenge = from_str::<Challenge>(data).unwrap();
// Confirm that our authmethod and details deserialized
assert_eq!(challenge.authmethod, "authmethod");
assert_eq!(challenge.details, serde_json::json!({}));
Fields§
§authmethod: String
§details: Value
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Challenge
impl<'de> Deserialize<'de> for Challenge
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl WampMessage for Challenge
impl WampMessage for Challenge
impl Eq for Challenge
impl StructuralPartialEq for Challenge
Auto Trait Implementations§
impl Freeze for Challenge
impl RefUnwindSafe for Challenge
impl Send for Challenge
impl Sync for Challenge
impl Unpin for Challenge
impl UnwindSafe for Challenge
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