33 lines
		
	
	
		
			731 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			731 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| //! HTTP Versions enum
 | |
| //!
 | |
| //! Instead of relying on typo-prone Strings, use expected HTTP versions as
 | |
| //! the `HttpVersion` enum.
 | |
| use std::fmt;
 | |
| 
 | |
| use self::HttpVersion::{Http09, Http10, Http11, Http20};
 | |
| 
 | |
| /// Represents a version of the HTTP spec.
 | |
| #[derive(PartialEq, PartialOrd, Copy, Debug)]
 | |
| pub enum HttpVersion {
 | |
|     /// `HTTP/0.9`
 | |
|     Http09,
 | |
|     /// `HTTP/1.0`
 | |
|     Http10,
 | |
|     /// `HTTP/1.1`
 | |
|     Http11,
 | |
|     /// `HTTP/2.0`
 | |
|     Http20
 | |
| }
 | |
| 
 | |
| impl fmt::Display for HttpVersion {
 | |
|     fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
 | |
|         fmt.write_str(match *self {
 | |
|             Http09 => "HTTP/0.9",
 | |
|             Http10 => "HTTP/1.0",
 | |
|             Http11 => "HTTP/1.1",
 | |
|             Http20 => "HTTP/2.0",
 | |
|         })
 | |
|     }
 | |
| }
 | |
| 
 |