about summary refs log tree commit diff
path: root/kittybox-rs/src
diff options
context:
space:
mode:
authorVika <vika@fireburn.ru>2022-07-19 03:09:37 +0300
committerVika <vika@fireburn.ru>2022-07-19 03:09:37 +0300
commit6fdb4c25c4557aa0b59b5c4ba348ecab502cb57e (patch)
treefb412dc81ae1702958c3cc852cf140d9eace54b2 /kittybox-rs/src
parentc00547c8437b992aa073378ab165aa40b073e1b4 (diff)
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.rs7
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