use rocket::{request::{self, FromRequest}, Request}; use crate::user::{Session, User}; pub struct RequestContext { pub is_htmx: bool } #[rocket::async_trait] impl<'r> FromRequest<'r> for RequestContext { type Error = (); async fn from_request(req: &'r Request<'_>) -> request::Outcome { rocket::outcome::Outcome::Success(RequestContext { is_htmx: !req .headers() .get("HX-Request") .collect::>() .is_empty() }) } }