aboutsummaryrefslogtreecommitdiff
path: root/src/api/s3/error.rs
diff options
context:
space:
mode:
authorAlex Auvolat <lx@deuxfleurs.fr>2025-01-31 18:34:57 +0100
committerAlex Auvolat <lx@deuxfleurs.fr>2025-01-31 18:34:57 +0100
commit84f1db91c4e53a8d0c037fd01adb695fd9400ed5 (patch)
tree9f80c50a55bcde668f487957b88cf00e682e4190 /src/api/s3/error.rs
parent9fa20d45bebab2a3f66b9721c3643dbd607d944d (diff)
downloadgarage-84f1db91c4e53a8d0c037fd01adb695fd9400ed5.tar.gz
garage-84f1db91c4e53a8d0c037fd01adb695fd9400ed5.zip
fix things up
Diffstat (limited to 'src/api/s3/error.rs')
-rw-r--r--src/api/s3/error.rs20
1 files changed, 7 insertions, 13 deletions
diff --git a/src/api/s3/error.rs b/src/api/s3/error.rs
index 77dc07c8..1bb8909c 100644
--- a/src/api/s3/error.rs
+++ b/src/api/s3/error.rs
@@ -8,23 +8,26 @@ use garage_model::helper::error::Error as HelperError;
pub(crate) use garage_api_common::common_error::pass_helper_error;
-use garage_api_common::common_error::{helper_error_as_internal, CommonError};
+use garage_api_common::common_error::{
+ commonErrorDerivative, helper_error_as_internal, CommonError,
+};
pub use garage_api_common::common_error::{
CommonErrorDerivative, OkOrBadRequest, OkOrInternalError,
};
-use crate::xml as s3_xml;
use garage_api_common::generic_server::ApiError;
use garage_api_common::helpers::*;
use garage_api_common::signature::error::Error as SignatureError;
+use crate::xml as s3_xml;
+
/// Errors of this crate
#[derive(Debug, Error)]
pub enum Error {
#[error(display = "{}", _0)]
/// Error from common error
- Common(CommonError),
+ Common(#[error(source)] CommonError),
// Category: cannot process
/// Authorization Header Malformed
@@ -86,14 +89,7 @@ pub enum Error {
NotImplemented(String),
}
-impl<T> From<T> for Error
-where
- CommonError: From<T>,
-{
- fn from(err: T) -> Self {
- Error::Common(CommonError::from(err))
- }
-}
+commonErrorDerivative!(Error);
// Helper errors are always passed as internal errors by default.
// To pass the specific error code back to the client, use `pass_helper_error`.
@@ -103,8 +99,6 @@ impl From<HelperError> for Error {
}
}
-impl CommonErrorDerivative for Error {}
-
impl From<roxmltree::Error> for Error {
fn from(err: roxmltree::Error) -> Self {
Self::InvalidXml(format!("{}", err))