aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--server/replaytool/src/main.rs10
1 files changed, 2 insertions, 8 deletions
diff --git a/server/replaytool/src/main.rs b/server/replaytool/src/main.rs
index f92ac90a..b591bf92 100644
--- a/server/replaytool/src/main.rs
+++ b/server/replaytool/src/main.rs
@@ -15,7 +15,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-use anyhow::anyhow;
+use anyhow::{anyhow, Context};
use async_compression::tokio::{bufread::ZstdDecoder, write::ZstdEncoder};
use clap::Parser;
use futures_util::{SinkExt, StreamExt};
@@ -179,13 +179,7 @@ pub async fn do_record(output: &Path, url: &str) -> anyhow::Result<()> {
while let Some(Ok(message)) = sock.next().await {
match message {
Message::Text(line) => {
- let packet: PacketC = match serde_json::from_str(&line) {
- Ok(p) => p,
- Err(e) => {
- warn!("invalid packet: {e}");
- break;
- }
- };
+ let packet: PacketC = serde_json::from_str(&line).context("invalid packet")?;
debug!("<- {packet:?}");
let is_end = matches!(packet, PacketC::SetIngame { state: false, .. });