Impl StdError::source for HxError, closes #16

This commit is contained in:
imbolc 2024-05-07 06:46:33 +06:00
parent e8a0b94d03
commit 7a7c7e5ae9

View file

@ -29,14 +29,22 @@ impl From<serde_json::Error> for HxError {
impl fmt::Display for HxError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
HxError::InvalidHeaderValue(err) => write!(f, "Invalid header value: {err}"),
HxError::InvalidHeaderValue(_) => write!(f, "Invalid header value"),
#[cfg(feature = "serde")]
HxError::Json(err) => write!(f, "Json: {err}"),
HxError::Json(_) => write!(f, "Json"),
}
}
}
impl error::Error for HxError {}
impl error::Error for HxError {
fn source(&self) -> Option<&(dyn error::Error + 'static)> {
match self {
HxError::InvalidHeaderValue(ref e) => Some(e),
#[cfg(feature = "serde")]
HxError::Json(ref e) => Some(e),
}
}
}
impl IntoResponse for HxError {
fn into_response(self) -> axum_core::response::Response {