diff options
author | Alex <lx@deuxfleurs.fr> | 2025-02-01 17:48:25 +0000 |
---|---|---|
committer | Alex <lx@deuxfleurs.fr> | 2025-02-01 17:48:25 +0000 |
commit | d601f311865b8159a7bf1801dd8f43021d0b443b (patch) | |
tree | 07e4268d09a6bead4c4e5a2a4f122471a7a5d23b /src/api/common/signature/error.rs | |
parent | 9330fd79d3466051394f6d419a247d46da8f5151 (diff) | |
parent | e4de7bdfd5e6acc05309f59d7f77755f0807e8e4 (diff) | |
download | garage-d601f311865b8159a7bf1801dd8f43021d0b443b.tar.gz garage-d601f311865b8159a7bf1801dd8f43021d0b443b.zip |
Merge pull request 'split garage_api in garage_api_{common,s3,k2v,admin}' (#947) from split-garage-api into main
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/947
Diffstat (limited to 'src/api/common/signature/error.rs')
-rw-r--r-- | src/api/common/signature/error.rs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/api/common/signature/error.rs b/src/api/common/signature/error.rs new file mode 100644 index 00000000..2d92a072 --- /dev/null +++ b/src/api/common/signature/error.rs @@ -0,0 +1,32 @@ +use err_derive::Error; + +use crate::common_error::CommonError; +pub use crate::common_error::{CommonErrorDerivative, OkOrBadRequest, OkOrInternalError}; + +/// Errors of this crate +#[derive(Debug, Error)] +pub enum Error { + #[error(display = "{}", _0)] + /// Error from common error + Common(CommonError), + + /// Authorization Header Malformed + #[error(display = "Authorization header malformed, unexpected scope: {}", _0)] + AuthorizationHeaderMalformed(String), + + // Category: bad request + /// The request contained an invalid UTF-8 sequence in its path or in other parameters + #[error(display = "Invalid UTF-8: {}", _0)] + InvalidUtf8Str(#[error(source)] std::str::Utf8Error), +} + +impl<T> From<T> for Error +where + CommonError: From<T>, +{ + fn from(err: T) -> Self { + Error::Common(CommonError::from(err)) + } +} + +impl CommonErrorDerivative for Error {} |