diff options
author | Vika <vika@fireburn.ru> | 2022-07-19 03:09:37 +0300 |
---|---|---|
committer | Vika <vika@fireburn.ru> | 2022-07-19 03:09:37 +0300 |
commit | 6fdb4c25c4557aa0b59b5c4ba348ecab502cb57e (patch) | |
tree | fb412dc81ae1702958c3cc852cf140d9eace54b2 /kittybox-rs/src | |
parent | c00547c8437b992aa073378ab165aa40b073e1b4 (diff) | |
download | kittybox-6fdb4c25c4557aa0b59b5c4ba348ecab502cb57e.tar.zst |
Catch panics on requests
This will allow to display a prettier error page in the future. There is a possibility of instantiating the panic handler per-module to allow for custom panic messages expressed in the same form the module itself gives error messages (e.g. pretty HTML for frontend, MicropubError for Micropub messages etc.)
Diffstat (limited to 'kittybox-rs/src')
-rw-r--r-- | kittybox-rs/src/main.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/kittybox-rs/src/main.rs b/kittybox-rs/src/main.rs index 59c3e69..4fb0eec 100644 --- a/kittybox-rs/src/main.rs +++ b/kittybox-rs/src/main.rs @@ -174,8 +174,8 @@ async fn main() { "/.kittybox/health", axum::routing::get( |axum::Extension(db): axum::Extension<FileStorage>| async move { - // TODO health-check the database - "OK" + // TODO health-check the database + "OK" } ) .layer(axum::Extension(database)) @@ -195,7 +195,8 @@ async fn main() { .layer(axum::Extension(kittybox::tokenauth::TokenEndpoint(token_endpoint))) .layer(tower::ServiceBuilder::new() .layer(tower_http::trace::TraceLayer::new_for_http()) - .into_inner()); + .into_inner()) + .layer(tower_http::catch_panic::CatchPanicLayer::new()); // A little dance to turn a potential file descriptor into // a guaranteed async network socket |