feat(server): add try_into_parts() to conn::Connection (#1531)
This commit is contained in:
		
				
					committed by
					
						 Sean McArthur
						Sean McArthur
					
				
			
			
				
	
			
			
			
						parent
						
							c6e90b7b65
						
					
				
				
					commit
					c615a3242f
				
			| @@ -342,20 +342,28 @@ where | |||||||
|     /// This should only be called after `poll_without_shutdown` signals |     /// This should only be called after `poll_without_shutdown` signals | ||||||
|     /// that the connection is "done". Otherwise, it may not have finished |     /// that the connection is "done". Otherwise, it may not have finished | ||||||
|     /// flushing all necessary HTTP bytes. |     /// flushing all necessary HTTP bytes. | ||||||
|  |     /// | ||||||
|  |     /// # Panics | ||||||
|  |     /// This method will panic if this connection is using an h2 protocol. | ||||||
|     pub fn into_parts(self) -> Parts<I, S> { |     pub fn into_parts(self) -> Parts<I, S> { | ||||||
|         let (io, read_buf, dispatch) = match self.conn.unwrap() { |         self.try_into_parts().unwrap_or_else(|| panic!("h2 cannot into_inner")) | ||||||
|             Either::A(h1) => { |  | ||||||
|                 h1.into_inner() |  | ||||||
|             }, |  | ||||||
|             Either::B(_h2) => { |  | ||||||
|                 panic!("h2 cannot into_inner"); |  | ||||||
|     } |     } | ||||||
|         }; |  | ||||||
|         Parts { |     /// Return the inner IO object, and additional information, if available. | ||||||
|  |     /// | ||||||
|  |     /// This method will return a `None` if this connection is using an h2 protocol. | ||||||
|  |     pub fn try_into_parts(self) -> Option<Parts<I, S>> { | ||||||
|  |         match self.conn.unwrap() { | ||||||
|  |             Either::A(h1) => { | ||||||
|  |                 let (io, read_buf, dispatch) = h1.into_inner(); | ||||||
|  |                 Some(Parts { | ||||||
|                     io: io, |                     io: io, | ||||||
|                     read_buf: read_buf, |                     read_buf: read_buf, | ||||||
|                     service: dispatch.into_service(), |                     service: dispatch.into_service(), | ||||||
|                     _inner: (), |                     _inner: (), | ||||||
|  |                 }) | ||||||
|  |             }, | ||||||
|  |             Either::B(_h2) => None, | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user