From ace0a19952cf5d26648ebbf032331a64365fb02c Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Mon, 7 Sep 2020 00:43:55 +0100 Subject: [PATCH] abolish http module containg one impl Signed-off-by: Ian Jackson --- src/api.rs | 22 +++++++++++++++++++++- src/http.rs | 32 -------------------------------- src/imports.rs | 6 ++++++ src/lib.rs | 1 - src/session.rs | 1 - 5 files changed, 27 insertions(+), 35 deletions(-) delete mode 100644 src/http.rs diff --git a/src/api.rs b/src/api.rs index 90d9a5d9..cff02c05 100644 --- a/src/api.rs +++ b/src/api.rs @@ -3,7 +3,6 @@ // There is NO WARRANTY. use crate::imports::*; -use crate::http::*; #[derive(Debug,Serialize,Deserialize)] struct ApiPiece { @@ -65,6 +64,27 @@ impl Lens for TransparentLens { fn massage_prep_piecestate(&self, _ns : &mut PreparedPieceState) { } } +impl<'r> Responder<'r> for OnlineError { + #[throws(Status)] + fn respond_to(self, req: &Request) -> Response<'r> { + let msg = format!("Online-layer error\n{:?}\n{}\n", self, self); + use rocket::http::Status; + use OnlineError::*; + let status = match self { + ServerFailure(_) => Status::InternalServerError, + NoClient | NoPlayer | GameBeingDestroyed + => Status::NotFound, + OnlineError::PieceHeld | OnlineError::PieceGone + => Status::Conflict, + InvalidZCoord | BadJSON(_) + => Status::BadRequest, + }; + let mut resp = Responder::respond_to(msg,req).unwrap(); + resp.set_status(status); + resp + } +} + #[throws(OE)] fn api_piece_op(form : Json>) -> impl response::Responder<'static> { diff --git a/src/http.rs b/src/http.rs deleted file mode 100644 index 04b696b3..00000000 --- a/src/http.rs +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2020 Ian Jackson -// SPDX-License-Identifier: AGPL-3.0-or-later -// There is NO WARRANTY. - -pub use rocket::request::Request; -pub use rocket::response::{Response,Responder}; -pub use rocket::{post,get,routes}; -pub use rocket_contrib::json::Json; -pub use rocket::http::Status; - -use crate::imports::*; - -impl<'r> Responder<'r> for OnlineError { - #[throws(Status)] - fn respond_to(self, req: &Request) -> Response<'r> { - let msg = format!("Online-layer error\n{:?}\n{}\n", self, self); - use rocket::http::Status; - use OnlineError::*; - let status = match self { - ServerFailure(_) => Status::InternalServerError, - NoClient | NoPlayer | GameBeingDestroyed - => Status::NotFound, - OnlineError::PieceHeld | OnlineError::PieceGone - => Status::Conflict, - InvalidZCoord | BadJSON(_) - => Status::BadRequest, - }; - let mut resp = Responder::respond_to(msg,req).unwrap(); - resp.set_status(status); - resp - } -} diff --git a/src/imports.rs b/src/imports.rs index cdcefcd1..407c0489 100644 --- a/src/imports.rs +++ b/src/imports.rs @@ -54,6 +54,12 @@ pub use rocket::request::{FromParam,FromRequest,FromFormValue,LenientForm}; pub use rocket::response::NamedFile; pub use rocket::response; +pub use rocket::request::Request; +pub use rocket::response::{Response,Responder}; +pub use rocket::{post,get,routes}; +pub use rocket_contrib::json::Json; +pub use rocket::http::Status; + pub use rand::thread_rng; pub use rand::Rng; pub use rand::distributions::Alphanumeric; diff --git a/src/lib.rs b/src/lib.rs index dd52a1a4..a08b577a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -15,7 +15,6 @@ pub mod keydata; pub mod updates; pub mod sse; pub mod error; -pub mod http; pub mod session; pub mod api; pub mod spec; diff --git a/src/session.rs b/src/session.rs index 6e0c8129..5fd918cc 100644 --- a/src/session.rs +++ b/src/session.rs @@ -3,7 +3,6 @@ // There is NO WARRANTY. use crate::imports::*; -use crate::http::*; #[derive(Serialize,Debug)] struct SessionRenderContext { -- 2.30.2