api: Add catchers
- Added catchers for 404, 422 and 500 Signed-off-by: supercmmetry <vishaals2000@gmail.com>
This commit is contained in:
parent
de741f451e
commit
0de8fb33da
@ -0,0 +1,34 @@
|
|||||||
|
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<Json<Value>> {
|
||||||
|
status::Custom(Status::NotFound, Json(json!({
|
||||||
|
"err":"route not found",
|
||||||
|
"msg": "The given route does not exist"
|
||||||
|
})))
|
||||||
|
}
|
||||||
|
|
||||||
|
#[catch(422)]
|
||||||
|
fn unprocessable_entity() -> status::Custom<Json<Value>> {
|
||||||
|
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<Json<Value>> {
|
||||||
|
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])
|
||||||
|
}
|
@ -46,6 +46,7 @@ fn main() {
|
|||||||
let mut rocket = rocket::ignite();
|
let mut rocket = rocket::ignite();
|
||||||
|
|
||||||
rocket = api::routes::fuel(rocket);
|
rocket = api::routes::fuel(rocket);
|
||||||
|
rocket = api::catchers::fuel(rocket);
|
||||||
|
|
||||||
rocket.manage(utils::db::pool())
|
rocket.manage(utils::db::pool())
|
||||||
.manage(logger)
|
.manage(logger)
|
||||||
|
Loading…
Reference in New Issue
Block a user