thruster_socketio/
socketio_context.rs

1use hyper::body::Body;
2use hyper::Request;
3use thruster::context::basic_hyper_context::BasicHyperContext;
4use thruster::context::typed_hyper_context::TypedHyperContext;
5
6pub trait SocketIOContext {
7    /// Returns the associated hyper request for this context.
8    fn into_request(self) -> Request<Body>;
9
10    /// Sets the status of the context.
11    fn status(&mut self, code: u32);
12}
13
14impl SocketIOContext for BasicHyperContext {
15    fn into_request(self) -> Request<Body> {
16        self.hyper_request.unwrap().request
17    }
18
19    fn status(&mut self, code: u32) {
20        self.status = code as u16;
21    }
22}
23
24impl<T: 'static + Send + Sync> SocketIOContext for TypedHyperContext<T> {
25    fn into_request(self) -> Request<Body> {
26        self.hyper_request.unwrap().request
27    }
28
29    fn status(&mut self, code: u32) {
30        self.status = code as u16;
31    }
32}