aboutsummaryrefslogtreecommitdiffstats
path: root/src/server/middleware
diff options
context:
space:
mode:
authorrtkay123 <dev@kanjala.com>2026-02-02 13:05:49 +0200
committerrtkay123 <dev@kanjala.com>2026-02-02 13:05:49 +0200
commite06094f23ca861ea5ae4864d11fa8ce8b7d7aa2c (patch)
tree27bbff5fd21711f99aaf579a76b1a0aca7869003 /src/server/middleware
parent78f61ccdf66572d7432b5b627994038479103653 (diff)
downloadsellershut-e06094f23ca861ea5ae4864d11fa8ce8b7d7aa2c.tar.bz2
sellershut-e06094f23ca861ea5ae4864d11fa8ce8b7d7aa2c.zip
feat: oauth route
Diffstat (limited to 'src/server/middleware')
-rw-r--r--src/server/middleware/mod.rs1
-rw-r--r--src/server/middleware/request_id.rs20
2 files changed, 21 insertions, 0 deletions
diff --git a/src/server/middleware/mod.rs b/src/server/middleware/mod.rs
new file mode 100644
index 0000000..f68f27a
--- /dev/null
+++ b/src/server/middleware/mod.rs
@@ -0,0 +1 @@
+pub(super) mod request_id;
diff --git a/src/server/middleware/request_id.rs b/src/server/middleware/request_id.rs
new file mode 100644
index 0000000..7163c86
--- /dev/null
+++ b/src/server/middleware/request_id.rs
@@ -0,0 +1,20 @@
+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<Response, StatusCode> {
+ 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)
+}