aboutsummaryrefslogtreecommitdiffstats
path: root/lib/warden-middleware/src/trace_layer.rs
diff options
context:
space:
mode:
authorrtkay123 <dev@kanjala.com>2025-08-12 05:13:32 +0200
committerrtkay123 <dev@kanjala.com>2025-08-12 05:13:32 +0200
commitc5ea875f544824b0c042bf7c0a58b3134f9c0373 (patch)
tree4913d4ff2b408c7157e33894e40deec570ecce9e /lib/warden-middleware/src/trace_layer.rs
parent9c850d6c4d0ed468709c2eb5340d7b64bbb9aa68 (diff)
downloadwarden-c5ea875f544824b0c042bf7c0a58b3134f9c0373.tar.bz2
warden-c5ea875f544824b0c042bf7c0a58b3134f9c0373.zip
feat(config): get active routing
Diffstat (limited to 'lib/warden-middleware/src/trace_layer.rs')
-rw-r--r--lib/warden-middleware/src/trace_layer.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/warden-middleware/src/trace_layer.rs b/lib/warden-middleware/src/trace_layer.rs
new file mode 100644
index 0000000..5173e8d
--- /dev/null
+++ b/lib/warden-middleware/src/trace_layer.rs
@@ -0,0 +1,24 @@
+use axum::{Router, http::Request};
+use tower_http::trace::TraceLayer;
+use tracing::info_span;
+
+use super::REQUEST_ID_HEADER;
+
+pub fn apply_trace_context_middleware<T: Clone + Send + Sync + 'static>(
+ router: Router<T>,
+) -> Router<T> {
+ router.layer(
+ TraceLayer::new_for_http().make_span_with(|request: &Request<_>| {
+ let request_id = request
+ .headers()
+ .get(REQUEST_ID_HEADER)
+ .expect("should have been applied already");
+
+ info_span!(
+ "http_request",
+ request_id = ?request_id,
+ headers = ?request.headers()
+ )
+ }),
+ )
+}