summaryrefslogtreecommitdiff
path: root/gateway/src/payloads/gateway.rs
diff options
context:
space:
mode:
Diffstat (limited to 'gateway/src/payloads/gateway.rs')
-rw-r--r--gateway/src/payloads/gateway.rs62
1 files changed, 29 insertions, 33 deletions
diff --git a/gateway/src/payloads/gateway.rs b/gateway/src/payloads/gateway.rs
index fe77e7c..4f24890 100644
--- a/gateway/src/payloads/gateway.rs
+++ b/gateway/src/payloads/gateway.rs
@@ -1,7 +1,10 @@
-use super::{dispatch::Dispatch, opcodes::{OpCodes, hello::Hello}};
+use super::{
+ dispatch::Dispatch,
+ opcodes::{hello::Hello, OpCodes},
+};
+use serde::de::Error;
use serde::{Deserialize, Serialize};
use serde_json::Value;
-use serde::de::Error;
#[derive(Serialize, Deserialize, PartialEq, Debug, Clone)]
#[serde(bound(deserialize = "T: Deserialize<'de> + std::fmt::Debug"))]
@@ -24,7 +27,10 @@ pub enum Message {
}
impl<'de> serde::Deserialize<'de> for Message {
- fn deserialize<D: serde::Deserializer<'de>>(d: D) -> Result<Self, D::Error> where D::Error : Error {
+ fn deserialize<D: serde::Deserializer<'de>>(d: D) -> Result<Self, D::Error>
+ where
+ D::Error: Error,
+ {
let value = Value::deserialize(d)?;
let val = value.get("op").and_then(Value::as_u64).unwrap();
@@ -37,41 +43,31 @@ impl<'de> serde::Deserialize<'de> for Message {
// we need to find a better solution than clone
match Dispatch::deserialize(value) {
- Ok(data) => {
- Ok(Message::Dispatch(BaseMessage {
- op,
- t,
- sequence,
- data
- }))
- },
- Err(e) => Err(Error::custom(e)),
- }
- },
-
- OpCodes::Reconnect => {
- match BaseMessage::deserialize(value) {
- Ok(data) => Ok(Message::Reconnect(data)),
+ Ok(data) => Ok(Message::Dispatch(BaseMessage {
+ op,
+ t,
+ sequence,
+ data,
+ })),
Err(e) => Err(Error::custom(e)),
}
+ }
+
+ OpCodes::Reconnect => match BaseMessage::deserialize(value) {
+ Ok(data) => Ok(Message::Reconnect(data)),
+ Err(e) => Err(Error::custom(e)),
},
- OpCodes::InvalidSession => {
- match BaseMessage::deserialize(value) {
- Ok(data) => Ok(Message::InvalidSession(data)),
- Err(e) => Err(Error::custom(e)),
- }
+ OpCodes::InvalidSession => match BaseMessage::deserialize(value) {
+ Ok(data) => Ok(Message::InvalidSession(data)),
+ Err(e) => Err(Error::custom(e)),
},
- OpCodes::Hello => {
- match BaseMessage::deserialize(value) {
- Ok(data) => Ok(Message::Hello(data)),
- Err(e) => Err(Error::custom(e)),
- }
+ OpCodes::Hello => match BaseMessage::deserialize(value) {
+ Ok(data) => Ok(Message::Hello(data)),
+ Err(e) => Err(Error::custom(e)),
},
- OpCodes::HeartbeatACK => {
- match BaseMessage::deserialize(value) {
- Ok(data) => Ok(Message::HeartbeatACK(data)),
- Err(e) => Err(Error::custom(e)),
- }
+ OpCodes::HeartbeatACK => match BaseMessage::deserialize(value) {
+ Ok(data) => Ok(Message::HeartbeatACK(data)),
+ Err(e) => Err(Error::custom(e)),
},
_ => panic!("Cannot convert"),
}