chore: update quick-xml dep

rework associated error, and fixup error for XML serialization.
Should be InternalError/INTERNAL_SERVER_ERROR not MalformedXML/BAD_REQUEST
This commit is contained in:
Gwen Lg
2026-01-29 00:54:09 +01:00
committed by Alex
parent 3c5018bd6b
commit 674c2c1cb1
3 changed files with 17 additions and 17 deletions
+14 -14
View File
@@ -69,8 +69,16 @@ pub enum Error {
InvalidUtf8String(#[from] std::string::FromUtf8Error),
/// The client sent invalid XML data
#[error("Invalid XML: {0}")]
InvalidXml(String),
#[error("failed to deserialize XML")]
InvalidXml(#[from] roxmltree::Error),
/// The client sent invalid XML data
#[error("XML deserialization failed")]
InvalidXmlDe(#[from] quick_xml::de::DeError),
/// The server failed to serialize data into XML
#[error("failed to serialize XML")]
InvalidXmlSe(#[from] quick_xml::se::SeError),
/// The client sent a range header with invalid value
#[error("Invalid HTTP range: {0:?}")]
@@ -105,18 +113,6 @@ impl From<(http_range::HttpRangeParseError, u64)> for Error {
}
}
impl From<roxmltree::Error> for Error {
fn from(err: roxmltree::Error) -> Self {
Self::InvalidXml(format!("{}", err))
}
}
impl From<quick_xml::de::DeError> for Error {
fn from(err: quick_xml::de::DeError) -> Self {
Self::InvalidXml(format!("{}", err))
}
}
impl From<SignatureError> for Error {
fn from(err: SignatureError) -> Self {
match err {
@@ -149,6 +145,8 @@ impl Error {
Error::AuthorizationHeaderMalformed(_) => "AuthorizationHeaderMalformed",
Error::NotImplemented(_) => "NotImplemented",
Error::InvalidXml(_) => "MalformedXML",
Error::InvalidXmlDe(_) => "MalformedXML",
Error::InvalidXmlSe(_) => "InternalError",
Error::InvalidRange(_) => "InvalidRange",
Error::InvalidDigest(_) => "InvalidDigest",
Error::InvalidUtf8Str(_) | Error::InvalidUtf8String(_) => "InvalidRequest",
@@ -166,6 +164,7 @@ impl ApiError for Error {
Error::PreconditionFailed => StatusCode::PRECONDITION_FAILED,
Error::InvalidRange(_) => StatusCode::RANGE_NOT_SATISFIABLE,
Error::NotImplemented(_) => StatusCode::NOT_IMPLEMENTED,
Error::InvalidXmlSe(_) => StatusCode::INTERNAL_SERVER_ERROR,
Error::AuthorizationHeaderMalformed(_)
| Error::InvalidPart
| Error::InvalidPartOrder
@@ -173,6 +172,7 @@ impl ApiError for Error {
| Error::InvalidDigest(_)
| Error::InvalidEncryptionAlgorithm(_)
| Error::InvalidXml(_)
| Error::InvalidXmlDe(_)
| Error::InvalidUtf8Str(_)
| Error::InvalidUtf8String(_) => StatusCode::BAD_REQUEST,
}