From 381fe70c56b1a936d4eef676ee8ba546f6a3cf30 Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Wed, 20 Jun 2018 09:38:03 -0700 Subject: handle UUID errors as HTTP 400 --- rust/src/api_server.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'rust/src') diff --git a/rust/src/api_server.rs b/rust/src/api_server.rs index 24c62625..4c0f069e 100644 --- a/rust/src/api_server.rs +++ b/rust/src/api_server.rs @@ -57,6 +57,8 @@ macro_rules! wrap_entity_handlers { $post_resp::CreatedEntity(edit), Err(Error(ErrorKind::Diesel(e), _)) => $post_resp::BadRequest(ErrorResponse { message: e.to_string() }), + Err(Error(ErrorKind::Uuid(e), _)) => + $post_resp::BadRequest(ErrorResponse { message: e.to_string() }), Err(e) => $post_resp::GenericError(ErrorResponse { message: e.to_string() }), }; Box::new(futures::done(Ok(ret))) @@ -72,6 +74,8 @@ macro_rules! wrap_entity_handlers { $post_batch_resp::CreatedEntities(edit), Err(Error(ErrorKind::Diesel(e), _)) => $post_batch_resp::BadRequest(ErrorResponse { message: e.to_string() }), + Err(Error(ErrorKind::Uuid(e), _)) => + $post_batch_resp::BadRequest(ErrorResponse { message: e.to_string() }), Err(e) => $post_batch_resp::GenericError(ErrorResponse { message: e.to_string() }), }; Box::new(futures::done(Ok(ret))) @@ -661,9 +665,9 @@ impl Server { Some(param) => param as i64, }; - let work_id = uuid::Uuid::parse_str(&entity.work_id).expect("invalid UUID"); + let work_id = uuid::Uuid::parse_str(&entity.work_id)?; let container_id: Option = match entity.container_id { - Some(id) => Some(uuid::Uuid::parse_str(&id).expect("invalid UUID")), + Some(id) => Some(uuid::Uuid::parse_str(&id)?), None => None, }; -- cgit v1.2.3