1- use header:: { Language , QualityItem } ;
1+ use language_tags:: LanguageTag ;
2+ use header:: QualityItem ;
23
34header ! {
45 #[ doc="`Accept-Language` header, defined in" ]
@@ -20,61 +21,47 @@ header! {
2021 #[ doc="" ]
2122 #[ doc="# Examples" ]
2223 #[ doc="```" ]
23- #[ doc="use hyper::header::{Headers, AcceptLanguage, Language, qitem};" ]
24+ #[ doc="use hyper::LanguageTag;" ]
25+ #[ doc="use hyper::header::{Headers, AcceptLanguage, qitem};" ]
2426 #[ doc="" ]
2527 #[ doc="let mut headers = Headers::new();" ]
28+ #[ doc="let mut langtag: LanguageTag = Default::default();" ]
29+ #[ doc="langtag.language = Some(\" en\" .to_owned());" ]
30+ #[ doc="langtag.region = Some(\" US\" .to_owned());" ]
2631 #[ doc="headers.set(" ]
2732 #[ doc=" AcceptLanguage(vec![" ]
28- #[ doc=" qitem(" ]
29- #[ doc=" Language {" ]
30- #[ doc=" primary: \" en\" .to_owned()," ]
31- #[ doc=" sub: Some(\" us\" .to_owned())," ]
32- #[ doc=" }" ]
33- #[ doc=" )," ]
33+ #[ doc=" qitem(langtag)," ]
3434 #[ doc=" ])" ]
3535 #[ doc=");" ]
3636 #[ doc="```" ]
3737 #[ doc="```" ]
38- #[ doc="use hyper::header::{Headers, AcceptLanguage, Language, QualityItem, Quality, qitem};" ]
39- #[ doc="" ]
38+ #[ doc="# extern crate hyper;" ]
39+ #[ doc="# #[macro_use] extern crate language_tags;" ]
40+ #[ doc="# use hyper::header::{Headers, AcceptLanguage, QualityItem, Quality, qitem};" ]
41+ #[ doc="# " ]
42+ #[ doc="# fn main() {" ]
4043 #[ doc="let mut headers = Headers::new();" ]
4144 #[ doc="headers.set(" ]
4245 #[ doc=" AcceptLanguage(vec![" ]
43- #[ doc=" qitem(" ]
44- #[ doc=" Language {" ]
45- #[ doc=" primary: \" da\" .to_owned()," ]
46- #[ doc=" sub: None," ]
47- #[ doc=" }" ]
48- #[ doc=" )," ]
49- #[ doc=" QualityItem::new(" ]
50- #[ doc=" Language {" ]
51- #[ doc=" primary: \" en\" .to_owned()," ]
52- #[ doc=" sub: Some(\" gb\" .to_owned())," ]
53- #[ doc=" }," ]
54- #[ doc=" Quality(800)," ]
55- #[ doc=" )," ]
56- #[ doc=" QualityItem::new(" ]
57- #[ doc=" Language {" ]
58- #[ doc=" primary: \" en\" .to_owned()," ]
59- #[ doc=" sub: None," ]
60- #[ doc=" }," ]
61- #[ doc=" Quality(700)," ]
62- #[ doc=" )," ]
46+ #[ doc=" qitem(langtag!(da))," ]
47+ #[ doc=" QualityItem::new(langtag!(en;;;GB), Quality(800))," ]
48+ #[ doc=" QualityItem::new(langtag!(en), Quality(700))," ]
6349 #[ doc=" ])" ]
6450 #[ doc=");" ]
51+ #[ doc="# }" ]
6552 #[ doc="```" ]
66- ( AcceptLanguage , "Accept-Language" ) => ( QualityItem <Language >) +
53+ ( AcceptLanguage , "Accept-Language" ) => ( QualityItem <LanguageTag >) +
6754
6855 test_accept_language {
6956 // From the RFC
7057 test_header!( test1, vec![ b"da, en-gb;q=0.8, en;q=0.7" ] ) ;
7158 // Own test
7259 test_header!(
73- test2, vec![ b"en-us , en; q=0.5, fr" ] ,
60+ test2, vec![ b"en-US , en; q=0.5, fr" ] ,
7461 Some ( AcceptLanguage ( vec![
75- qitem( Language { primary : "en" . to_owned ( ) , sub : Some ( "us" . to_owned ( ) ) } ) ,
76- QualityItem :: new( Language { primary : "en" . to_owned ( ) , sub : None } , Quality ( 500 ) ) ,
77- qitem( Language { primary : "fr" . to_owned ( ) , sub : None } ) ,
62+ qitem( langtag! ( en ; ; ; US ) ) ,
63+ QualityItem :: new( langtag! ( en ) , Quality ( 500 ) ) ,
64+ qitem( langtag! ( fr ) ) ,
7865 ] ) ) ) ;
7966 }
8067}
0 commit comments