aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/chat.rs2
-rw-r--r--src/status.rs8
2 files changed, 5 insertions, 5 deletions
diff --git a/src/chat.rs b/src/chat.rs
index 550c9ce..59b9097 100644
--- a/src/chat.rs
+++ b/src/chat.rs
@@ -973,7 +973,7 @@ impl super::Deserialize for Chat {
String::mc_deserialize(data)?.try_map(move |raw| {
serde_json::from_str(raw.as_str()).map_err(move |err|
super::DeserializeErr::FailedJsonDeserialize(format!(
- "failed to serialize chat as JSON :: {:?}", err
+ "failed to deserialize chat from JSON '{}' :: {:?}", raw, err
)))
})
}
diff --git a/src/status.rs b/src/status.rs
index 274fcbe..74538ad 100644
--- a/src/status.rs
+++ b/src/status.rs
@@ -13,7 +13,7 @@ use crate::protocol::TestRandom;
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct StatusSpec {
- pub version: StatusVersionSpec,
+ pub version: Option<StatusVersionSpec>,
pub players: StatusPlayersSpec,
pub description: Chat,
#[serde(skip_serializing_if = "Option::is_none")]
@@ -47,10 +47,10 @@ impl McDeserialize for StatusSpec {
impl TestRandom for StatusSpec {
fn test_gen_random() -> Self {
Self {
- version: StatusVersionSpec {
+ version: Some(StatusVersionSpec {
protocol: rand::random(),
name: String::test_gen_random(),
- },
+ }),
players: StatusPlayersSpec {
sample: Vec::default(),
max: rand::random(),
@@ -118,7 +118,7 @@ impl<'de> Deserialize<'de> for StatusFaviconSpec {
let v = str_tag(v, "data:", &self)?;
let (content_type, v) = str_until_pat(v, ";", &self)?;
let rest = str_tag(v, "base64,", &self)?;
- match base64::decode(rest) {
+ match base64::decode(rest.replace('\n', "")) {
Ok(data) => {
Ok(StatusFaviconSpec{
data,