From 49a46acef3ce325e20e13cc97c2e65e8a829dd86 Mon Sep 17 00:00:00 2001 From: Philippe Loctaux Date: Wed, 1 Mar 2023 22:54:13 +0100 Subject: [PATCH] removed StatusCode, use Status directly --- crates/ezidam/src/error/catchers.rs | 8 ++++---- crates/ezidam/src/error/mod.rs | 15 +++++++-------- crates/ezidam/src/error/responder.rs | 6 +++--- crates/ezidam/src/error/status_code.rs | 18 ------------------ 4 files changed, 14 insertions(+), 33 deletions(-) delete mode 100644 crates/ezidam/src/error/status_code.rs diff --git a/crates/ezidam/src/error/catchers.rs b/crates/ezidam/src/error/catchers.rs index 177afe1..5647ae4 100644 --- a/crates/ezidam/src/error/catchers.rs +++ b/crates/ezidam/src/error/catchers.rs @@ -1,20 +1,20 @@ -use super::{Error, StatusCode}; +use super::Error; use rocket::http::Status; use rocket::{catch, catchers, Build, Request, Rocket}; #[catch(404)] fn not_found(req: &Request) -> Error { - Error::new(StatusCode::NotFound, req.uri()) + Error::new(Status::NotFound, req.uri()) } #[catch(500)] fn internal_server_error(req: &Request) -> Error { - Error::new(StatusCode::InternalServerError, req.uri()) + Error::new(Status::InternalServerError, req.uri()) } #[catch(default)] fn default(status: Status, req: &Request) -> Error { - Error::new(StatusCode::Unknown(status), req.uri()) + Error::new(status, req.uri()) } pub fn register(rocket_builder: Rocket) -> Rocket { diff --git a/crates/ezidam/src/error/mod.rs b/crates/ezidam/src/error/mod.rs index 26b5935..4c32bb2 100644 --- a/crates/ezidam/src/error/mod.rs +++ b/crates/ezidam/src/error/mod.rs @@ -1,34 +1,33 @@ pub(super) mod catchers; mod conversion; mod responder; -mod status_code; -use self::status_code::StatusCode; +use rocket::http::Status; use rocket_dyn_templates::{context, Template}; pub struct Error { - status: StatusCode, + status: Status, template: Template, } impl Error { - fn new(status: StatusCode, message: M) -> Self { + fn new(status: Status, message: M) -> Self { Self { status, template: Template::render( "error", context! { - title: format!("{} Error", status.http_code().code), + title: format!("{} Error", status.code), message: message.to_string(), version: env!("CARGO_PKG_VERSION"), - http_code: status.http_code().code, - http_reason: status.http_code().reason_lossy() + http_code: status.code, + http_reason: status.reason_lossy() }, ), } } pub fn internal_server_error(error: E) -> Self { - Self::new(StatusCode::InternalServerError, error) + Self::new(Status::InternalServerError, error) } } diff --git a/crates/ezidam/src/error/responder.rs b/crates/ezidam/src/error/responder.rs index e964e46..0d8297a 100644 --- a/crates/ezidam/src/error/responder.rs +++ b/crates/ezidam/src/error/responder.rs @@ -1,6 +1,6 @@ -use rocket::{response, Request, Response}; -use rocket::response::Responder; use super::Error; +use rocket::response::Responder; +use rocket::{response, Request, Response}; impl<'r, 'o: 'r> Responder<'r, 'o> for Error { fn respond_to(self, req: &Request) -> response::Result<'o> { @@ -9,7 +9,7 @@ impl<'r, 'o: 'r> Responder<'r, 'o> for Error { // Set status for final response Response::build_from(template_response) - .status(self.status.http_code()) + .status(self.status) .ok() } } diff --git a/crates/ezidam/src/error/status_code.rs b/crates/ezidam/src/error/status_code.rs deleted file mode 100644 index 232c3fc..0000000 --- a/crates/ezidam/src/error/status_code.rs +++ /dev/null @@ -1,18 +0,0 @@ -use rocket::http::Status; - -#[derive(Copy, Clone)] -pub(super) enum StatusCode { - NotFound, - InternalServerError, - Unknown(Status), -} - -impl StatusCode { - pub fn http_code(self) -> Status { - match self { - StatusCode::NotFound => Status::NotFound, - StatusCode::InternalServerError => Status::InternalServerError, - StatusCode::Unknown(status) => status, - } - } -}