blob: ff39c6a2e9fd9ba7d70754c1d6a93cfea2745401 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
use std::time::Duration;
use axum::Router;
use tower_http::{timeout::TimeoutLayer, trace::TraceLayer};
use tracing::trace;
pub fn apply(router: Router, duration: u64) -> Router {
trace!(seconds = duration, "applying timeout middleware");
router.layer((
TraceLayer::new_for_http(),
// Graceful shutdown will wait for outstanding requests to complete. Add a timeout so
// requests don't hang forever.
TimeoutLayer::new(Duration::from_secs(duration)),
))
}
|