dav: Add another error type

This commit is contained in:
Lennart
2024-06-16 13:02:28 +02:00
parent 98ea10d1a0
commit 9a783a6b65

View File

@@ -7,14 +7,22 @@ use thiserror::Error;
pub enum Error { pub enum Error {
#[error("Not found")] #[error("Not found")]
NotFound, NotFound,
#[error("Bad request: {0}")] #[error("Bad request: {0}")]
BadRequest(String), BadRequest(String),
#[error("Unauthorized")] #[error("Unauthorized")]
Unauthorized, Unauthorized,
#[error("Internal server error :(")] #[error("Internal server error :(")]
InternalError, InternalError,
#[error("prop {0} is read-only")]
PropReadOnly(String),
#[error(transparent)] #[error(transparent)]
XmlDecodeError(#[from] quick_xml::DeError), XmlDecodeError(#[from] quick_xml::DeError),
#[error("Internal server error")] #[error("Internal server error")]
Other(#[from] anyhow::Error), Other(#[from] anyhow::Error),
} }
@@ -28,6 +36,7 @@ impl actix_web::error::ResponseError for Error {
Self::BadRequest(_) => StatusCode::BAD_REQUEST, Self::BadRequest(_) => StatusCode::BAD_REQUEST,
Self::Unauthorized => StatusCode::UNAUTHORIZED, Self::Unauthorized => StatusCode::UNAUTHORIZED,
Self::XmlDecodeError(_) => StatusCode::BAD_REQUEST, Self::XmlDecodeError(_) => StatusCode::BAD_REQUEST,
Error::PropReadOnly(_) => StatusCode::CONFLICT,
} }
} }