// There is NO WARRANTY.
use crate::imports::*;
-use crate::http::*;
#[derive(Debug,Serialize,Deserialize)]
struct ApiPiece<O : ApiPieceOp> {
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<O: ApiPieceOp>(form : Json<ApiPiece<O>>)
-> impl response::Responder<'static> {
+++ /dev/null
-// 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
- }
-}
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;
pub mod updates;
pub mod sse;
pub mod error;
-pub mod http;
pub mod session;
pub mod api;
pub mod spec;
// There is NO WARRANTY.
use crate::imports::*;
-use crate::http::*;
#[derive(Serialize,Debug)]
struct SessionRenderContext {