mirror of
https://github.com/Xevion/banner.git
synced 2025-12-06 01:14:22 -06:00
feat(web): add 10 second timeout layer
This commit is contained in:
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -218,7 +218,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "banner"
|
name = "banner"
|
||||||
version = "0.3.3"
|
version = "0.3.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "banner"
|
name = "banner"
|
||||||
version = "0.3.3"
|
version = "0.3.4"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
default-run = "banner"
|
default-run = "banner"
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@ governor = "0.10.1"
|
|||||||
once_cell = "1.21.3"
|
once_cell = "1.21.3"
|
||||||
serde_path_to_error = "0.1.17"
|
serde_path_to_error = "0.1.17"
|
||||||
num-format = "0.4.4"
|
num-format = "0.4.4"
|
||||||
tower-http = { version = "0.6.0", features = ["fs", "cors", "trace"] }
|
tower-http = { version = "0.6.0", features = ["fs", "cors", "trace", "timeout"] }
|
||||||
rust-embed = { version = "8.0", features = ["debug-embed", "include-exclude"] }
|
rust-embed = { version = "8.0", features = ["debug-embed", "include-exclude"] }
|
||||||
mime_guess = "2.0"
|
mime_guess = "2.0"
|
||||||
clap = { version = "4.5", features = ["derive"] }
|
clap = { version = "4.5", features = ["derive"] }
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ use http::header;
|
|||||||
use serde::Serialize;
|
use serde::Serialize;
|
||||||
use serde_json::{Value, json};
|
use serde_json::{Value, json};
|
||||||
use std::{collections::BTreeMap, sync::Arc, time::Duration};
|
use std::{collections::BTreeMap, sync::Arc, time::Duration};
|
||||||
|
use tower_http::timeout::TimeoutLayer;
|
||||||
use tower_http::{
|
use tower_http::{
|
||||||
classify::ServerErrorsFailureClass,
|
classify::ServerErrorsFailureClass,
|
||||||
cors::{Any, CorsLayer},
|
cors::{Any, CorsLayer},
|
||||||
@@ -86,7 +87,7 @@ pub fn create_router(state: BannerState) -> Router {
|
|||||||
router = router.fallback(fallback);
|
router = router.fallback(fallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
router.layer(
|
router.layer((
|
||||||
TraceLayer::new_for_http()
|
TraceLayer::new_for_http()
|
||||||
.make_span_with(|request: &Request<Body>| {
|
.make_span_with(|request: &Request<Body>| {
|
||||||
tracing::debug_span!("request", path = request.uri().path())
|
tracing::debug_span!("request", path = request.uri().path())
|
||||||
@@ -129,7 +130,8 @@ pub fn create_router(state: BannerState) -> Router {
|
|||||||
);
|
);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
)
|
TimeoutLayer::new(Duration::from_secs(10)),
|
||||||
|
))
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Handler that extracts request information for caching
|
/// Handler that extracts request information for caching
|
||||||
|
|||||||
Reference in New Issue
Block a user