use axum::{ http::StatusCode, response::{IntoResponse, Response}, }; #[derive(Debug)] pub struct SupercellError(pub anyhow::Error); impl From for SupercellError where E: Into, { fn from(err: E) -> Self { Self(err.into()) } } impl IntoResponse for SupercellError { fn into_response(self) -> Response { { tracing::error!(error = ?self.0, "internal server error"); (StatusCode::INTERNAL_SERVER_ERROR).into_response() } } }