From 6e2787d792de64c003eff03b62a2df798ef851c0 Mon Sep 17 00:00:00 2001 From: salmonik Date: Thu, 29 Oct 2026 20:43:09 +0100 Subject: v2.3.0: add crash with local multiplier and pushed crash event --- src/client/games/response.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/client/games/response.rs') diff --git a/src/client/games/response.rs b/src/client/games/response.rs index d9883f7..71e1fed 100644 --- a/src/client/games/response.rs +++ b/src/client/games/response.rs @@ -163,3 +163,24 @@ pub fn parse_blackjack_response( .ok_or_else(|| format!("Unexpected server response: {response}"))?; serde_json::from_str(raw).map_err(|error| format!("Invalid blackjack state: {error}")) } + +pub fn parse_crash_response(response: &str) -> Result { + let response = response.trim(); + if response.is_empty() { + return Err("No response from server".to_string()); + } + if let Some(message) = response.strip_prefix("ERROR") { + let message = message.trim(); + return Err(if message.is_empty() { + "Server error".to_string() + } else { + message.to_string() + }); + } + + let raw = ["CRASH_START ", "CRASH_STATE ", "CRASH_BUSTED "] + .iter() + .find_map(|prefix| response.strip_prefix(prefix)) + .ok_or_else(|| format!("Unexpected server response: {response}"))?; + serde_json::from_str(raw).map_err(|error| format!("Invalid crash state: {error}")) +} -- cgit v1.2.3