1 use util::FlatCsv;
2 
3 /// `Accept-Ranges` header, defined in [RFC7233](http://tools.ietf.org/html/rfc7233#section-2.3)
4 ///
5 /// The `Accept-Ranges` header field allows a server to indicate that it
6 /// supports range requests for the target resource.
7 ///
8 /// # ABNF
9 ///
10 /// ```text
11 /// Accept-Ranges     = acceptable-ranges
12 /// acceptable-ranges = 1#range-unit / \"none\"
13 ///
14 /// # Example values
15 /// * `bytes`
16 /// * `none`
17 /// * `unknown-unit`
18 /// ```
19 ///
20 /// # Examples
21 ///
22 /// ```
23 /// use headers::{AcceptRanges, HeaderMap, HeaderMapExt};
24 ///
25 /// let mut headers = HeaderMap::new();
26 ///
27 /// headers.typed_insert(AcceptRanges::bytes());
28 /// ```
29 #[derive(Clone, Debug, Header, PartialEq)]
30 pub struct AcceptRanges(FlatCsv);
31 
32 impl AcceptRanges {
33     /// A constructor to easily create the common `Accept-Ranges: bytes` header.
bytes() -> Self34     pub fn bytes() -> Self {
35         AcceptRanges(::HeaderValue::from_static("bytes").into())
36     }
37 }
38