diff options
author | Alex Auvolat <lx@deuxfleurs.fr> | 2025-02-16 16:44:34 +0100 |
---|---|---|
committer | Alex Auvolat <lx@deuxfleurs.fr> | 2025-02-16 17:25:55 +0100 |
commit | cee7560fc1c3e885dc80dfee233211f54ac9db7d (patch) | |
tree | ee80161116770dcd18305aa23222b9ca2c02ce7c /src/api/k2v | |
parent | 2f0c5ca220d73b6c621f21816b666f939839dd49 (diff) | |
download | garage-cee7560fc1c3e885dc80dfee233211f54ac9db7d.tar.gz garage-cee7560fc1c3e885dc80dfee233211f54ac9db7d.zip |
api: refactor: move checksum algorithms to common
Diffstat (limited to 'src/api/k2v')
-rw-r--r-- | src/api/k2v/error.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/api/k2v/error.rs b/src/api/k2v/error.rs index 3cd0e6f7..b7ca5aa4 100644 --- a/src/api/k2v/error.rs +++ b/src/api/k2v/error.rs @@ -23,6 +23,10 @@ pub enum Error { #[error(display = "Authorization header malformed, unexpected scope: {}", _0)] AuthorizationHeaderMalformed(String), + /// The provided digest (checksum) value was invalid + #[error(display = "Invalid digest: {}", _0)] + InvalidDigest(String), + /// The object requested don't exists #[error(display = "Key not found")] NoSuchKey, @@ -54,6 +58,7 @@ impl From<SignatureError> for Error { Self::AuthorizationHeaderMalformed(c) } SignatureError::InvalidUtf8Str(i) => Self::InvalidUtf8Str(i), + SignatureError::InvalidDigest(d) => Self::InvalidDigest(d), } } } @@ -71,6 +76,7 @@ impl Error { Error::InvalidBase64(_) => "InvalidBase64", Error::InvalidUtf8Str(_) => "InvalidUtf8String", Error::InvalidCausalityToken => "CausalityToken", + Error::InvalidDigest(_) => "InvalidDigest", } } } @@ -85,6 +91,7 @@ impl ApiError for Error { Error::AuthorizationHeaderMalformed(_) | Error::InvalidBase64(_) | Error::InvalidUtf8Str(_) + | Error::InvalidDigest(_) | Error::InvalidCausalityToken => StatusCode::BAD_REQUEST, } } |