Improve errors reporting

This commit is contained in:
2023-12-12 01:32:18 +01:00
parent 2a52b5c035
commit bc15846b67
8 changed files with 68 additions and 16 deletions

@ -24,10 +24,20 @@ pub async fn create(client: LibVirtReq, req: web::Json<VMInfo>) -> HttpResult {
Ok(d) => d,
Err(e) => {
log::error!("Failed to extract domain info! {e}");
return Ok(HttpResponse::BadRequest().body(e.to_string()));
return Ok(
HttpResponse::BadRequest().json(format!("Failed to extract domain info!\n{e}"))
);
}
};
let id = match client.update_domain(domain).await {
Ok(i) => i,
Err(e) => {
log::error!("Failed to update domain info! {e}");
return Ok(
HttpResponse::InternalServerError().json(format!("Failed to create domain!\n{e}"))
);
}
};
let id = client.update_domain(domain).await?;
Ok(HttpResponse::Ok().json(VMUuid { uuid: id }))
}
@ -96,11 +106,14 @@ pub async fn update(
) -> HttpResult {
let mut domain = req.0.to_domain().map_err(|e| {
log::error!("Failed to extract domain info! {e}");
HttpResponse::BadRequest().body(e.to_string())
HttpResponse::BadRequest().json(format!("Failed to extract domain info! {e}"))
})?;
domain.uuid = Some(id.uid);
client.update_domain(domain).await?;
if let Err(e) = client.update_domain(domain).await {
log::error!("Failed to update domain info! {e}");
return Ok(HttpResponse::BadRequest().json(format!("Failed to update domain info!\n{e}")));
}
Ok(HttpResponse::Ok().finish())
}
@ -159,7 +172,7 @@ pub async fn start(client: LibVirtReq, id: web::Path<SingleVMUUidReq>) -> HttpRe
Ok(_) => HttpResponse::Ok().json("Domain started"),
Err(e) => {
log::error!("Failed to start domain {:?} ! {e}", id.uid);
HttpResponse::InternalServerError().json("Failed to start domain!")
HttpResponse::InternalServerError().json(format!("Failed to start domain! - {e}"))
}
})
}