Skip to content

Commit

Permalink
fix(cargo-shuttle): handle log stream errors in deploy command
Browse files Browse the repository at this point in the history
  • Loading branch information
jonaro00 committed Nov 27, 2023
1 parent 5f44ea9 commit e39a456
Showing 1 changed file with 14 additions and 5 deletions.
19 changes: 14 additions & 5 deletions cargo-shuttle/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1503,13 +1503,22 @@ impl Shuttle {
let mut deployer_version_checked = false;
let mut runtime_version_checked = false;
loop {
let message = stream.next().await;
if let Some(Ok(msg)) = message {
if let Some(Ok(msg)) = stream.next().await {
if let tokio_tungstenite::tungstenite::Message::Text(line) = msg {
let log_item: shuttle_common::LogItem =
serde_json::from_str(&line).context("parsing log line")?;
let log_item = match serde_json::from_str::<shuttle_common::LogItem>(&line) {
Ok(log_item) => log_item,
Err(err) => {
debug!(error = %err, "failed to parse message into log item");

let message = if let Ok(err) = serde_json::from_str::<ApiError>(&line) {
err.to_string()
} else {
"failed to parse logs, is your cargo-shuttle outdated?".to_string()
};

println!("{log_item}");
bail!(message);
}
};

// Detect versions of deployer and runtime, and print warnings of outdated.
if !deployer_version_checked
Expand Down

0 comments on commit e39a456

Please sign in to comment.