pub struct RequestState<T = ()> {
pub headers: Vec<HeaderEntry>,
pub sent_at_unix_ms: i64,
pub interface_id: u32,
pub method_id: u32,
pub custom: T,
/* private fields */
}Expand description
Request state passed to handlers
Contains request metadata and custom per-request state that can be set by middlewares and accessed by handlers.
Fields§
§headers: Vec<HeaderEntry>Request headers
sent_at_unix_ms: i64When the request was sent (unix milliseconds)
interface_id: u32Interface ID being called
method_id: u32Method ID being called
custom: TCustom service-specific state (set by middlewares)
Implementations§
Source§impl<T> RequestState<T>
impl<T> RequestState<T>
Sourcepub fn from_request(request: &RpcRequest, custom: T) -> Self
pub fn from_request(request: &RpcRequest, custom: T) -> Self
Create a new request state from RpcRequest
Sourcepub fn set_extension<V: Any + Send + Sync>(
&mut self,
key: impl Into<String>,
value: V,
)
pub fn set_extension<V: Any + Send + Sync>( &mut self, key: impl Into<String>, value: V, )
Set an extension value
Sourcepub fn get_extension<V: Any + Send + Sync>(&self, key: &str) -> Option<&V>
pub fn get_extension<V: Any + Send + Sync>(&self, key: &str) -> Option<&V>
Get an extension value
Sourcepub fn get_extension_mut<V: Any + Send + Sync>(
&mut self,
key: &str,
) -> Option<&mut V>
pub fn get_extension_mut<V: Any + Send + Sync>( &mut self, key: &str, ) -> Option<&mut V>
Get a mutable extension value
Sourcepub fn get_header(&self, key: u32) -> Option<&HeaderEntry>
pub fn get_header(&self, key: u32) -> Option<&HeaderEntry>
Get a header value by key (searches by header key ID)
Source§impl RequestState<()>
impl RequestState<()>
Sourcepub fn new(request: &RpcRequest) -> Self
pub fn new(request: &RpcRequest) -> Self
Create default request state with no custom data
Auto Trait Implementations§
impl<T> Freeze for RequestState<T>where
T: Freeze,
impl<T = ()> !RefUnwindSafe for RequestState<T>
impl<T> Send for RequestState<T>where
T: Send,
impl<T> Sync for RequestState<T>where
T: Sync,
impl<T> Unpin for RequestState<T>where
T: Unpin,
impl<T> UnsafeUnpin for RequestState<T>where
T: UnsafeUnpin,
impl<T = ()> !UnwindSafe for RequestState<T>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more