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)
|
|
}
|