@@ -3,79 +3,79 @@ use mime::Mime;
3
3
use header:: QualityItem ;
4
4
5
5
header ! {
6
- # [ doc= " `Accept` header, defined in [RFC7231](http://tools.ietf.org/html/rfc7231#section-5.3.2)" ]
7
- # [ doc= "" ]
8
- # [ doc= " The `Accept` header field can be used by user agents to specify" ]
9
- # [ doc= " response media types that are acceptable. Accept header fields can" ]
10
- # [ doc= " be used to indicate that the request is specifically limited to a" ]
11
- # [ doc= " small set of desired types, as in the case of a request for an" ]
12
- # [ doc= " in-line image" ]
13
- # [ doc= "" ]
14
- # [ doc= "# ABNF" ]
15
- # [ doc= " ```plain" ]
16
- # [ doc= " Accept = #( media-range [ accept-params ] )" ]
17
- # [ doc= "" ]
18
- # [ doc= " media-range = ( \ " */*\" " ]
19
- # [ doc= " / ( type \" / \" \" * \ " )" ]
20
- # [ doc= " / ( type \" / \ " subtype )" ]
21
- # [ doc= " ) *( OWS \" ; \ " OWS parameter )" ]
22
- # [ doc= " accept-params = weight *( accept-ext )" ]
23
- # [ doc= " accept-ext = OWS \" ; \ " OWS token [ \" = \ " ( token / quoted-string ) ]" ]
24
- # [ doc= " ```" ]
25
- # [ doc= "" ]
26
- # [ doc= "# Example values" ]
27
- # [ doc= " * `audio/*; q=0.2, audio/basic` (`*` value won't parse correctly)" ]
28
- # [ doc= " * `text/plain; q=0.5, text/html, text/x-dvi; q=0.8, text/x-c`" ]
29
- # [ doc= "" ]
30
- # [ doc= "# Examples" ]
31
- # [ doc= " ```" ]
32
- # [ doc= " use hyper::header::{Headers, Accept, qitem};" ]
33
- # [ doc= " use hyper::mime::{Mime, TopLevel, SubLevel};" ]
34
- # [ doc= "" ]
35
- # [ doc= " let mut headers = Headers::new();" ]
36
- # [ doc= "" ]
37
- # [ doc= " headers.set(" ]
38
- # [ doc= " Accept(vec![" ]
39
- # [ doc= " qitem(Mime(TopLevel::Text, SubLevel::Html, vec![]))," ]
40
- # [ doc= " ])" ]
41
- # [ doc= ");" ]
42
- # [ doc= " ```" ]
43
- # [ doc= " ```" ]
44
- # [ doc= " use hyper::header::{Headers, Accept, qitem};" ]
45
- # [ doc= " use hyper::mime::{Mime, TopLevel, SubLevel, Attr, Value};" ]
46
- # [ doc= "" ]
47
- # [ doc= " let mut headers = Headers::new();" ]
48
- # [ doc= " headers.set(" ]
49
- # [ doc= " Accept(vec![" ]
50
- # [ doc= " qitem(Mime(TopLevel::Application, SubLevel::Json," ]
51
- # [ doc= " vec![(Attr::Charset, Value::Utf8)]))," ]
52
- # [ doc= " ])" ]
53
- # [ doc= ");" ]
54
- # [ doc= " ```" ]
55
- # [ doc= " ```" ]
56
- # [ doc= " use hyper::header::{Headers, Accept, QualityItem, Quality, qitem};" ]
57
- # [ doc= " use hyper::mime::{Mime, TopLevel, SubLevel};" ]
58
- # [ doc= "" ]
59
- # [ doc= " let mut headers = Headers::new();" ]
60
- # [ doc= "" ]
61
- # [ doc= " headers.set(" ]
62
- # [ doc= " Accept(vec![" ]
63
- # [ doc= " qitem(Mime(TopLevel::Text, SubLevel::Html, vec![]))," ]
64
- # [ doc= " qitem(Mime(TopLevel::Application," ]
65
- # [ doc= " SubLevel::Ext(\ " xhtml+xml\ " .to_owned()), vec![]))," ]
66
- # [ doc= " QualityItem::new(Mime(TopLevel::Application, SubLevel::Xml, vec![])," ]
67
- # [ doc= " Quality(900))," ]
68
- # [ doc= " qitem(Mime(TopLevel::Image," ]
69
- # [ doc= " SubLevel::Ext(\ " webp\ " .to_owned()), vec![]))," ]
70
- # [ doc= " QualityItem::new(Mime(TopLevel::Star, SubLevel::Star, vec![])," ]
71
- # [ doc= " Quality(800))" ]
72
- # [ doc= " ])" ]
73
- # [ doc= ");" ]
74
- # [ doc= " ```" ]
75
- # [ doc= "" ]
76
- # [ doc= "# Notes" ]
77
- # [ doc= " * Using always Mime types to represent `media-range` differs from the ABNF." ]
78
- # [ doc= " * **FIXME**: `accept-ext` is not supported." ]
6
+ /// `Accept` header, defined in [RFC7231](http://tools.ietf.org/html/rfc7231#section-5.3.2)
7
+ ///
8
+ /// The `Accept` header field can be used by user agents to specify
9
+ /// response media types that are acceptable. Accept header fields can
10
+ /// be used to indicate that the request is specifically limited to a
11
+ /// small set of desired types, as in the case of a request for an
12
+ /// in-line image
13
+ ///
14
+ /// # ABNF
15
+ /// ```plain
16
+ /// Accept = #( media-range [ accept-params ] )
17
+ ///
18
+ /// media-range = ( "*/*"
19
+ /// / ( type "/" "* " )
20
+ /// / ( type "/ " subtype )
21
+ /// ) *( OWS "; " OWS parameter )
22
+ /// accept-params = weight *( accept-ext )
23
+ /// accept-ext = OWS "; " OWS token [ "= " ( token / quoted-string ) ]
24
+ /// ```
25
+ ///
26
+ /// # Example values
27
+ /// * `audio/*; q=0.2, audio/basic` (`*` value won't parse correctly)
28
+ /// * `text/plain; q=0.5, text/html, text/x-dvi; q=0.8, text/x-c`
29
+ ///
30
+ /// # Examples
31
+ /// ```
32
+ /// use hyper::header::{Headers, Accept, qitem};
33
+ /// use hyper::mime::{Mime, TopLevel, SubLevel};
34
+ ///
35
+ /// let mut headers = Headers::new();
36
+ ///
37
+ /// headers.set(
38
+ /// Accept(vec![
39
+ /// qitem(Mime(TopLevel::Text, SubLevel::Html, vec![])),
40
+ /// ])
41
+ /// );
42
+ /// ```
43
+ /// ```
44
+ /// use hyper::header::{Headers, Accept, qitem};
45
+ /// use hyper::mime::{Mime, TopLevel, SubLevel, Attr, Value};
46
+ ///
47
+ /// let mut headers = Headers::new();
48
+ /// headers.set(
49
+ /// Accept(vec![
50
+ /// qitem(Mime(TopLevel::Application, SubLevel::Json,
51
+ /// vec![(Attr::Charset, Value::Utf8)])),
52
+ /// ])
53
+ /// );
54
+ /// ```
55
+ /// ```
56
+ /// use hyper::header::{Headers, Accept, QualityItem, Quality, qitem};
57
+ /// use hyper::mime::{Mime, TopLevel, SubLevel};
58
+ ///
59
+ /// let mut headers = Headers::new();
60
+ ///
61
+ /// headers.set(
62
+ /// Accept(vec![
63
+ /// qitem(Mime(TopLevel::Text, SubLevel::Html, vec![])),
64
+ /// qitem(Mime(TopLevel::Application,
65
+ /// SubLevel::Ext("xhtml+xml".to_owned()), vec![])),
66
+ /// QualityItem::new(Mime(TopLevel::Application, SubLevel::Xml, vec![]),
67
+ /// Quality(900)),
68
+ /// qitem(Mime(TopLevel::Image,
69
+ /// SubLevel::Ext("webp".to_owned()), vec![])),
70
+ /// QualityItem::new(Mime(TopLevel::Star, SubLevel::Star, vec![]),
71
+ /// Quality(800))
72
+ /// ])
73
+ /// );
74
+ /// ```
75
+ ///
76
+ /// # Notes
77
+ /// * Using always Mime types to represent `media-range` differs from the ABNF.
78
+ /// * **FIXME**: `accept-ext` is not supported.
79
79
( Accept , "Accept" ) => ( QualityItem <Mime >) +
80
80
81
81
test_accept {
0 commit comments