use rocket::Rocket; use rocket::response::status; use rocket::http::Status; use rocket_contrib::json::Json; use serde_json::Value; #[catch(404)] fn not_found() -> status::Custom> { status::Custom(Status::NotFound, Json(json!({ "err":"route not found", "msg": "The given route does not exist" }))) } #[catch(422)] fn unprocessable_entity() -> status::Custom> { status::Custom(Status::UnprocessableEntity, Json(json!({ "err":"failed to process entity", "msg": "The given object could not be processed. This could be due to sending \ malformed or incomplete JSON objects in the request body." }))) } #[catch(500)] fn internal_server_error() -> status::Custom> { status::Custom(Status::NotFound, Json(json!({ "err":"internal server error", "msg": "Something went wrong, try again" }))) } pub fn fuel(rocket: Rocket) -> Rocket { rocket.register(catchers![not_found, unprocessable_entity, internal_server_error]) }