Skip to content

Commit 9a811a7

Browse files
arqunismkrasnitski
authored andcommitted
Fix event deserialisation
1 parent 10bfbf1 commit 9a811a7

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/model/event.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -982,7 +982,9 @@ impl<'de> Deserialize<'de> for GatewayEvent {
982982
ty: Option<&'a str>,
983983
}
984984

985-
let raw = GatewayEventRaw::deserialize(deserializer)?;
985+
let raw_data = <&RawValue>::deserialize(deserializer)?;
986+
987+
let raw = GatewayEventRaw::deserialize(raw_data).map_err(DeError::custom)?;
986988

987989
Ok(match raw.op {
988990
Opcode::Dispatch => {
@@ -993,10 +995,10 @@ impl<'de> Deserialize<'de> for GatewayEvent {
993995
Self::Dispatch {
994996
seq: raw.seq.ok_or_else(|| DeError::missing_field("s"))?,
995997
event: {
996-
Box::new(match Event::deserialize(raw.data) {
998+
Box::new(match Event::deserialize(raw_data) {
997999
Ok(event) => DeserializedEvent::Success(event),
9981000
Err(_) => DeserializedEvent::Unknown(
999-
UnknownEvent::deserialize(raw.data).map_err(DeError::custom)?,
1001+
UnknownEvent::deserialize(raw_data).map_err(DeError::custom)?,
10001002
),
10011003
})
10021004
},

0 commit comments

Comments
 (0)