15 lines
348 B
Rust
15 lines
348 B
Rust
|
use axum::{
|
||
|
http::{Request, StatusCode},
|
||
|
middleware::Next,
|
||
|
response::Response,
|
||
|
};
|
||
|
use uuid::Uuid;
|
||
|
|
||
|
#[derive(Clone)]
|
||
|
pub struct SessionId(pub Uuid);
|
||
|
|
||
|
pub async fn session_id<B>(mut req: Request<B>, next: Next<B>) -> Result<Response, StatusCode> {
|
||
|
req.extensions_mut().insert(SessionId(Uuid::new_v4()));
|
||
|
Ok(next.run(req).await)
|
||
|
}
|