diff --git a/src/routes/mod.rs b/src/routes/mod.rs index 5b9d71341dfa3d4f9fc9c8b9e56069aaac2b8fd2..88422d9e12e451a0a6a63a514883bef4887d4edc 100644 --- a/src/routes/mod.rs +++ b/src/routes/mod.rs @@ -35,6 +35,8 @@ pub enum Response { Conflict(JsonValue), #[response(status = 410)] Gone(JsonValue), + #[response(status = 418)] + Teapot(JsonValue), #[response(status = 422)] UnprocessableEntity(JsonValue), #[response(status = 429)] @@ -61,7 +63,12 @@ impl<'a> rocket::response::Responder<'a> for Permission { pub fn mount(rocket: Rocket) -> Rocket { rocket - .mount("/", routes![root::root]) + .mount("/", + routes![ + root::root, + root::teapot + ] + ) .mount( "/account", routes![ diff --git a/src/routes/root.rs b/src/routes/root.rs index c102eadd2710a2c1633db01ebf27feaa8db6b8b7..a69bd1b3435ea5f686e7b10761db2f5722ad2140 100644 --- a/src/routes/root.rs +++ b/src/routes/root.rs @@ -9,3 +9,12 @@ pub fn root() -> Response { "revolt": "0.2.0" })) } + +/// I'm a teapot. +#[delete("/")] +pub fn teapot() -> Response { + Response::Teapot(json!({ + "teapot": true, + "can_delete": false + })) +}