aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorZeyla Hellyer <[email protected]>2017-12-17 21:43:29 -0800
committerZeyla Hellyer <[email protected]>2017-12-17 21:46:30 -0800
commite36cf9bdc7d213a0004c065160e989550391a6c1 (patch)
treee04a20594c36fb0af12307ab212310fc82bbe363 /src
parentFix typo (#235) (diff)
downloadserenity-e36cf9bdc7d213a0004c065160e989550391a6c1.tar.xz
serenity-e36cf9bdc7d213a0004c065160e989550391a6c1.zip
Default serde on a couple Ready structfields
Have serde default on the `presences` and `private_channels` structfields of `Ready`. Some JSON serializers might leave these out when serializing if they're empty, so resolve this by simply defaulting to empty maps.
Diffstat (limited to 'src')
-rw-r--r--src/model/gateway.rs14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/model/gateway.rs b/src/model/gateway.rs
index 6a3e24d..27a541b 100644
--- a/src/model/gateway.rs
+++ b/src/model/gateway.rs
@@ -286,13 +286,15 @@ impl<'de> Deserialize<'de> for Presence {
#[derive(Clone, Debug, Deserialize)]
pub struct Ready {
pub guilds: Vec<GuildStatus>,
- #[serde(deserialize_with = "deserialize_presences")] pub presences: HashMap<UserId, Presence>,
- #[serde(deserialize_with = "deserialize_private_channels")]
- pub private_channels:
- HashMap<ChannelId, Channel>,
+ #[serde(default, deserialize_with = "deserialize_presences")]
+ pub presences: HashMap<UserId, Presence>,
+ #[serde(default, deserialize_with = "deserialize_private_channels")]
+ pub private_channels: HashMap<ChannelId, Channel>,
pub session_id: String,
pub shard: Option<[u64; 2]>,
- #[serde(default, rename = "_trace")] pub trace: Vec<String>,
+ #[serde(default, rename = "_trace")]
+ pub trace: Vec<String>,
pub user: CurrentUser,
- #[serde(rename = "v")] pub version: u64,
+ #[serde(rename = "v")]
+ pub version: u64,
}