zero2prod_axum/src/error.rs
2023-10-07 22:14:22 +02:00

25 lines
625 B
Rust

use axum::http::StatusCode;
use axum::response::{IntoResponse, Response};
pub type Result<T> = core::result::Result<T, Error>;
#[derive(Debug)]
pub enum Error {
LoginFail,
// -- Auth errors.
AuthFailNoAuthTokenCookie,
AuthFailTokenWrongFormat,
// -- Model errors.
PropertyDeleteFailIdNotFound { id: u64 },
}
/// FIXME: return different status codes for different errors
impl IntoResponse for Error {
fn into_response(self) -> Response {
println!("->> {:<12} - {self:?}", "INTO_RESPONSE");
(StatusCode::INTERNAL_SERVER_ERROR, "UNHANDLED_CLIENT_ERROR").into_response()
}
}