diff --git a/backend/windmill-api/src/jobs.rs b/backend/windmill-api/src/jobs.rs index daba418caf..7697c8e21a 100644 --- a/backend/windmill-api/src/jobs.rs +++ b/backend/windmill-api/src/jobs.rs @@ -3091,10 +3091,9 @@ pub async fn run_wait_result_job_by_path_get( if method == http::Method::HEAD { return Ok(Json(serde_json::json!("")).into_response()); } - let payload_r = run_query - .payload - .map(decode_payload) - .map(|x| x.map_err(|e| Error::InternalErr(e.to_string()))); + let payload_r = run_query.payload.map(decode_payload).map(|x| { + x.map_err(|e| Error::InternalErr(format!("Impossible to decode query payload: {e:#?}"))) + }); let mut payload_args = if let Some(payload) = payload_r { payload? @@ -3169,11 +3168,11 @@ pub async fn run_wait_result_flow_by_path_get( if method == http::Method::HEAD { return Ok(Json(serde_json::json!("")).into_response()); } - let payload_r = run_query - .payload - .clone() - .map(decode_payload) - .map(|x| x.map_err(|e| Error::InternalErr(e.to_string()))); + let payload_r = run_query.payload.clone().map(decode_payload).map(|x| { + x.map_err(|e| { + error::Error::InternalErr(format!("Impossible to decode query payload: {e:#?}")) + }) + }); let mut payload_args = if let Some(payload) = payload_r { payload? diff --git a/backend/windmill-common/src/error.rs b/backend/windmill-common/src/error.rs index b26f074abb..3d52007382 100644 --- a/backend/windmill-common/src/error.rs +++ b/backend/windmill-common/src/error.rs @@ -52,7 +52,7 @@ pub enum Error { DatabaseMigration(#[from] MigrateError), #[error("Non-zero exit status: {0}")] ExitStatus(i32), - #[error(transparent)] + #[error("Err: {0:?}")] Anyhow(#[from] anyhow::Error), #[error("Error: {0:#?}")] JsonErr(serde_json::Value), @@ -67,6 +67,10 @@ impl Error { pub fn alt(&self) -> String { format!("{:#}", self) } + + pub fn dbg(&self) -> String { + format!("{:?}", self) + } } pub fn to_anyhow(e: T) -> anyhow::Error { diff --git a/backend/windmill-common/src/utils.rs b/backend/windmill-common/src/utils.rs index 007a1031a3..82cf0b3fed 100644 --- a/backend/windmill-common/src/utils.rs +++ b/backend/windmill-common/src/utils.rs @@ -13,6 +13,7 @@ use crate::error::{to_anyhow, Error, Result}; use crate::global_settings::UNIQUE_ID_SETTING; use crate::server::Smtp; use crate::DB; +use anyhow::Context; use git_version::git_version; use mail_send::mail_builder::MessageBuilder; use mail_send::SmtpClientBuilder; @@ -136,7 +137,10 @@ pub async fn http_get_from_hub( } } - let response = request.send().await.map_err(to_anyhow)?; + let response = request + .send() + .await + .context(format!("error fetching script at {url} from hub"))?; Ok(response) } diff --git a/backend/windmill-worker/src/worker.rs b/backend/windmill-worker/src/worker.rs index b376494f9c..33ec8bf4a0 100644 --- a/backend/windmill-worker/src/worker.rs +++ b/backend/windmill-worker/src/worker.rs @@ -11,7 +11,7 @@ use windmill_common::{ worker::{get_windmill_memory_usage, get_worker_memory_usage, TMP_DIR}, }; -use anyhow::Result; +use anyhow::{Context, Result}; use const_format::concatcp; #[cfg(feature = "prometheus")] use prometheus::{ @@ -399,8 +399,7 @@ pub struct AuthedClient { impl AuthedClient { pub async fn get(&self, url: &str, query: Vec<(&str, String)>) -> anyhow::Result { - Ok(self - .force_client + self.force_client .as_ref() .unwrap_or(&HTTP_CLIENT) .get(url) @@ -414,7 +413,10 @@ impl AuthedClient { reqwest::header::HeaderValue::from_str(&format!("Bearer {}", self.token))?, ) .send() - .await?) + .await + .context(format!( + "Executing request from authed http client to {url} with query {query:?}", + )) } pub async fn get_id_token(&self, audience: &str) -> anyhow::Result {