diff options
| author | salmonik <salmonik@tuta.io> | 2026-10-29 20:43:09 +0100 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-10-29 20:43:09 +0100 |
| commit | 6e2787d792de64c003eff03b62a2df798ef851c0 (patch) | |
| tree | 0e9bf97b2f71df5fb9eb00d5195d32b8326886ff /src/client/games/response.rs | |
| parent | v2.2.1: forfeit blackjack bets when leaving or disconnecting (diff) | |
| download | zagan-bet-6e2787d792de64c003eff03b62a2df798ef851c0.tar.gz zagan-bet-6e2787d792de64c003eff03b62a2df798ef851c0.zip | |
v2.3.0: add crash with local multiplier and pushed crash event
Diffstat (limited to 'src/client/games/response.rs')
| -rw-r--r-- | src/client/games/response.rs | 21 |
1 files changed, 21 insertions, 0 deletions
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( | |||
| 163 | .ok_or_else(|| format!("Unexpected server response: {response}"))?; | 163 | .ok_or_else(|| format!("Unexpected server response: {response}"))?; |
| 164 | serde_json::from_str(raw).map_err(|error| format!("Invalid blackjack state: {error}")) | 164 | serde_json::from_str(raw).map_err(|error| format!("Invalid blackjack state: {error}")) |
| 165 | } | 165 | } |
| 166 | |||
| 167 | pub fn parse_crash_response(response: &str) -> Result<crate::crash::CrashState, String> { | ||
| 168 | let response = response.trim(); | ||
| 169 | if response.is_empty() { | ||
| 170 | return Err("No response from server".to_string()); | ||
| 171 | } | ||
| 172 | if let Some(message) = response.strip_prefix("ERROR") { | ||
| 173 | let message = message.trim(); | ||
| 174 | return Err(if message.is_empty() { | ||
| 175 | "Server error".to_string() | ||
| 176 | } else { | ||
| 177 | message.to_string() | ||
| 178 | }); | ||
| 179 | } | ||
| 180 | |||
| 181 | let raw = ["CRASH_START ", "CRASH_STATE ", "CRASH_BUSTED "] | ||
| 182 | .iter() | ||
| 183 | .find_map(|prefix| response.strip_prefix(prefix)) | ||
| 184 | .ok_or_else(|| format!("Unexpected server response: {response}"))?; | ||
| 185 | serde_json::from_str(raw).map_err(|error| format!("Invalid crash state: {error}")) | ||
| 186 | } | ||
