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