add catch_panic to axum router

This commit is contained in:
guochao 2024-10-05 21:53:43 +08:00
parent d29d63d3ce
commit cf09f7ee7f
3 changed files with 6 additions and 4 deletions

2
Cargo.lock generated
View File

@ -1959,8 +1959,10 @@ checksum = "8437150ab6bbc8c5f0f519e3d5ed4aa883a83dd4cdd3d1b21f9482936046cb97"
dependencies = [
"bitflags",
"bytes",
"futures-util",
"http 1.1.0",
"http-body",
"http-body-util",
"pin-project-lite",
"tower 0.5.1",
"tower-layer",

View File

@ -29,7 +29,7 @@ axum = { version = "0.7", features = ["multipart", "tracing", "ws"] }
console-subscriber = { version = "0.4.0", optional = true }
tokio = { version = "1", features = ["full", "tracing"] }
tower = { version = "0.5", features = ["tracing", "util"] }
tower-http = { version = "0.6", features = ["util", "trace"] }
tower-http = { version = "0.6", features = ["util", "trace", "catch-panic"] }
tracing = "0.1"
tracing-subscriber = "0.3"

View File

@ -6,8 +6,8 @@ use axum::{
response::{Html, IntoResponse, Response},
};
use networkd::{ServerApp, ServerAppProps, Route};
use tower_http::
trace::{DefaultMakeSpan, DefaultOnRequest, DefaultOnResponse}
use tower_http::{
trace::{DefaultMakeSpan, DefaultOnRequest, DefaultOnResponse}, ServiceBuilderExt}
;
use tracing::Level;
@ -90,7 +90,7 @@ async fn main() -> anyhow::Result<()> {
.make_span_with(DefaultMakeSpan::new().level(Level::INFO))
.on_request(DefaultOnRequest::new().level(Level::INFO))
.on_response(DefaultOnResponse::new().level(Level::INFO)),
),
).catch_panic(),
);
let listener = tokio::net::TcpListener::bind("0.0.0.0:1234").await?;