Skip to content

Commit

Permalink
error: Add error catcher
Browse files Browse the repository at this point in the history
  • Loading branch information
ItsJamie9494 committed Aug 27, 2024
1 parent b84d3b6 commit deccfc0
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 0 deletions.
31 changes: 31 additions & 0 deletions src/error.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// gura -- Terra Package Server
//
// This file is a part of gura
//
// gura is free software: you can redistribute it and/or modify it under the terms of
// the GNU General Public License as published by the Free Software Foundation, either
// version 3 of the License, or (at your option) any later version.
//
// gura is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License along with gura.
// If not, see <https://www.gnu.org/licenses/>.

use rocket::http::Status;
use rocket::Request;

#[catch(default)]
pub fn default_catcher(status: Status, _: &Request) -> serde_json::Value {
if let Some(reason) = status.reason() {
serde_json::json!({
"code": status.code,
"message": reason
})
} else {
serde_json::json!({
"code": status.code
})
}
}
2 changes: 2 additions & 0 deletions src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ extern crate rocket;
mod api;
mod authentication;
mod database;
mod error;
mod models;

use database::Database;
Expand All @@ -46,4 +47,5 @@ fn rocket() -> _ {
.attach(RpmSqlite::init())
.mount("/", routes![index, health])
.mount("/api", api::routes())
.register("/", catchers![error::default_catcher])
}

0 comments on commit deccfc0

Please sign in to comment.