feat(headers): add AcceptCharset header
Adds support for the Accept-Charset header. Encodes the charset as a string.
This commit is contained in:
		
				
					committed by
					
						 Sean McArthur
						Sean McArthur
					
				
			
			
				
	
			
			
			
						parent
						
							2d83a79742
						
					
				
				
					commit
					235089a103
				
			
							
								
								
									
										27
									
								
								src/header/common/accept_charset.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								src/header/common/accept_charset.rs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | ||||
| use header::{self, QualityItem}; | ||||
|  | ||||
| pub type Charset = String; | ||||
|  | ||||
| /// The `Accept-Charset` header | ||||
| /// | ||||
| /// The `Accept-Charset` header can be used by clients to indicate what | ||||
| /// response charsets they accept. | ||||
| #[derive(Clone, PartialEq, Debug)] | ||||
| pub struct AcceptCharset(pub Vec<QualityItem<Charset>>); | ||||
|  | ||||
| impl_list_header!(AcceptCharset, | ||||
|                   "Accept-Charset", | ||||
|                   Vec<QualityItem<Charset>>); | ||||
|  | ||||
|  | ||||
| #[test] | ||||
| fn test_parse_header() { | ||||
|     let a: AcceptCharset = header::Header::parse_header( | ||||
|         [b"iso-8859-5, unicode-1-1;q=0.8".to_vec()].as_slice()).unwrap(); | ||||
|     let b = AcceptCharset(vec![ | ||||
|         QualityItem{item: "iso-8859-5".to_string(), quality: 1.0}, | ||||
|         QualityItem{item: "unicode-1-1".to_string(), quality: 0.8}, | ||||
|     ]); | ||||
|     assert_eq!(format!("{}", a), format!("{}", b)); | ||||
|     assert_eq!(a, b); | ||||
| } | ||||
| @@ -8,6 +8,7 @@ | ||||
|  | ||||
| pub use self::access_control::*; | ||||
| pub use self::accept::Accept; | ||||
| pub use self::accept_charset::AcceptCharset; | ||||
| pub use self::accept_encoding::AcceptEncoding; | ||||
| pub use self::accept_language::AcceptLanguage; | ||||
| pub use self::allow::Allow; | ||||
| @@ -147,6 +148,7 @@ macro_rules! impl_header( | ||||
|  | ||||
| mod access_control; | ||||
| mod accept; | ||||
| mod accept_charset; | ||||
| mod accept_encoding; | ||||
| mod accept_language; | ||||
| mod allow; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user