From cc14a34e7695ee59a9b7d65c6b03d104d97034b8 Mon Sep 17 00:00:00 2001 From: Franklin Date: Tue, 6 Sep 2022 12:00:38 -0400 Subject: [PATCH] Changed unexpectedStatusCode error to use a list of errors instead of a singular one --- src/enums/error.rs | 4 ++-- src/traits/macro_traits.rs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/enums/error.rs b/src/enums/error.rs index f70f9dd..148ce11 100644 --- a/src/enums/error.rs +++ b/src/enums/error.rs @@ -11,7 +11,7 @@ pub enum Error{ /// Same as UnexpectedStatusCode but without the extra details. ClientError(MessageResource), /// Takes the status code you expected, the actual status code, and the ErrorMessage. This is meant to be used when your app tries to use an API, be it internal or external. - UnexpectedStatusCode(u16, u16, MessageResource), + UnexpectedStatusCode(u16, u16, Vec), /// Try and never use this error, unless you really need to. Unspecified, /// If you had an error serializing/deserializing and wish to display more details. Such as the entire Json as a string, this is how. @@ -27,7 +27,7 @@ impl fmt::Display for Error{ match *&self { Error::Unspecified => write!(f, "Error of type Unspecified."), Error::NetworkError(message) => write!(f, "Error of type Network.\nMessageResource: {}", message), - Error::UnexpectedStatusCode(expected, actual, message) => write!(f, "Error of type UnexpectedStatusCode.\nExpected: {}\nActual: {}\nreceivedMessageResource: {:?}", expected, actual, message), + Error::UnexpectedStatusCode(expected, actual, messages) => write!(f, "Error of type UnexpectedStatusCode.\nExpected: {}\nActual: {}\nreceivedMessageResources: {:?}", expected, actual, messages), Error::ClientError(message) => write!(f, "Error of type Client.\nMessageResource: {}", message), Error::SerdeError(message, recieved) => write!(f, "Error of type Serialization/Deserialization.\nMessageResource: {:?}, Object attempted to be serded: {}", message, recieved), Error::DatabaseError(message, query) => write!(f, "Error of type Database.\nMessageResource: {}, \nQuery: {}", message, query), diff --git a/src/traits/macro_traits.rs b/src/traits/macro_traits.rs index 564c41c..c803832 100644 --- a/src/traits/macro_traits.rs +++ b/src/traits/macro_traits.rs @@ -19,7 +19,7 @@ impl ReturnableErrorShape for Error { match self { Error::Unspecified => TypedHttpResponse::return_standard_error(status_code, MessageResource::new_empty()), Error::NetworkError(message) => TypedHttpResponse::return_standard_error(status_code, message.clone()), - Error::UnexpectedStatusCode(_, actual, message) => TypedHttpResponse::return_standard_error(*actual, message.clone()), + Error::UnexpectedStatusCode(_, actual, messages) => TypedHttpResponse::return_standard_error_list(*actual, messages.clone()), Error::ClientError(message) => TypedHttpResponse::return_standard_error(status_code, message.clone()), Error::SerdeError(message, _) => TypedHttpResponse::return_standard_error(status_code, message.clone()), Error::DatabaseError(message, _) => TypedHttpResponse::return_standard_error(status_code, message.clone()),