Struct matrix_sdk::event_handler::RawEvent [−][src]
pub struct RawEvent(pub Box<RawJsonValue>);Expand description
The raw JSON form of an event.
Used as a context argument for event handlers (see
Client::register_event_handler).
Tuple Fields
0: Box<RawJsonValue>Methods from Deref<Target = RawJsonValue>
Access the JSON text underlying a raw value.
Example
use serde::Deserialize;
use serde_json::{Result, value::RawValue};
#[derive(Deserialize)]
struct Response<'a> {
code: u32,
#[serde(borrow)]
payload: &'a RawValue,
}
fn process(input: &str) -> Result<()> {
let response: Response = serde_json::from_str(input)?;
let payload = response.payload.get();
if payload.starts_with('{') {
// handle a payload which is a JSON map
} else {
// handle any other type
}
Ok(())
}
fn main() -> Result<()> {
process(r#" {"code": 200, "payload": {}} "#)?;
Ok(())
}Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for RawEvent
impl UnwindSafe for RawEvent
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more