1use std::any::Any;
2
3use cookie::CookieJar;
4use hyper::upgrade::OnUpgrade;
5use hyper::{Body, HeaderMap, Method, Uri, Version};
6
7use crate::helpers::http::request::path::RequestPathSegments;
8use crate::state::request_id::RequestId;
9
10#[cfg(feature = "derive")]
11pub use gotham_derive::StateData;
12
13pub trait StateData: Any + Send {}
33
34impl StateData for Body {}
35impl StateData for Method {}
36impl StateData for Uri {}
37impl StateData for Version {}
38impl StateData for HeaderMap {}
39impl StateData for CookieJar {}
40impl StateData for OnUpgrade {}
41
42impl StateData for RequestPathSegments {}
43impl StateData for RequestId {}