use axum::{ extract::Request, http::{HeaderValue, StatusCode}, middleware::Next, response::Response, }; use uuid::Uuid; pub const REQUEST_ID_HEADER: &str = "x-request-id"; pub async fn add_request_id(mut request: Request, next: Next) -> Result { let headers = request.headers_mut(); let id = Uuid::now_v7().to_string(); tracing::trace!(id = id, "attaching request id"); let bytes = id.as_bytes(); headers.insert(REQUEST_ID_HEADER, HeaderValue::from_bytes(bytes).unwrap()); Ok(next.run(request).await) }