Merge pull request #567 from clatour/header-docs

docs(headers): add examples
This commit is contained in:
Sean McArthur
2015-06-15 10:15:17 -07:00
41 changed files with 856 additions and 0 deletions

View File

@@ -27,6 +27,51 @@ header! {
#[doc="* `audio/*; q=0.2, audio/basic` (`*` value won't parse correctly)"]
#[doc="* `text/plain; q=0.5, text/html, text/x-dvi; q=0.8, text/x-c`"]
#[doc=""]
#[doc="# Examples"]
#[doc="```"]
#[doc="use hyper::header::{Headers, Accept, qitem};"]
#[doc="use hyper::mime::{Mime, TopLevel, SubLevel};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc=""]
#[doc="headers.set("]
#[doc=" Accept(vec!["]
#[doc=" qitem(Mime(TopLevel::Text, SubLevel::Html, vec![])),"]
#[doc=" ])"]
#[doc=");"]
#[doc="```"]
#[doc="```"]
#[doc="use hyper::header::{Headers, Accept, qitem};"]
#[doc="use hyper::mime::{Mime, TopLevel, SubLevel, Attr, Value};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" Accept(vec!["]
#[doc=" qitem(Mime(TopLevel::Application, SubLevel::Json,"]
#[doc=" vec![(Attr::Charset, Value::Utf8)])),"]
#[doc=" ])"]
#[doc=");"]
#[doc="```"]
#[doc="```"]
#[doc="use hyper::header::{Headers, Accept, QualityItem, Quality, qitem};"]
#[doc="use hyper::mime::{Mime, TopLevel, SubLevel};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc=""]
#[doc="headers.set("]
#[doc=" Accept(vec!["]
#[doc=" qitem(Mime(TopLevel::Text, SubLevel::Html, vec![])),"]
#[doc=" qitem(Mime(TopLevel::Application, SubLevel::Ext(\"xhtml+xml\".to_owned()), vec![])),"]
#[doc=" QualityItem::new(Mime(TopLevel::Application, SubLevel::Xml, vec![]),"]
#[doc=" Quality(900)),"]
#[doc=" qitem(Mime(TopLevel::Image, SubLevel::Ext(\"webp\".to_owned()), vec![])),
"]
#[doc=" QualityItem::new(Mime(TopLevel::Star, SubLevel::Star, vec![]),"]
#[doc=" Quality(800))"]
#[doc=" ])"]
#[doc=");"]
#[doc="```"]
#[doc=""]
#[doc="# Notes"]
#[doc="* Using always Mime types to represent `media-range` differs from the ABNF."]
#[doc="* **FIXME**: `accept-ext` is not supported."]

View File

@@ -18,6 +18,35 @@ header! {
#[doc=""]
#[doc="# Example values"]
#[doc="* `iso-8859-5, unicode-1-1;q=0.8`"]
#[doc=""]
#[doc="# Examples"]
#[doc="```"]
#[doc="use hyper::header::{Headers, AcceptCharset, Charset, qitem};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" AcceptCharset(vec![qitem(Charset::Us_Ascii)])"]
#[doc=");"]
#[doc="```"]
#[doc="```"]
#[doc="use hyper::header::{Headers, AcceptCharset, Charset, Quality, QualityItem};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" AcceptCharset(vec!["]
#[doc=" QualityItem::new(Charset::Us_Ascii, Quality(900)),"]
#[doc=" QualityItem::new(Charset::Iso_8859_10, Quality(200)),"]
#[doc=" ])"]
#[doc=");"]
#[doc="```"]
#[doc="```"]
#[doc="use hyper::header::{Headers, AcceptCharset, Charset, qitem};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" AcceptCharset(vec![qitem(Charset::Ext(\"utf-8\".to_owned()))])"]
#[doc=");"]
#[doc="```"]
(AcceptCharset, "Accept-Charset") => (QualityItem<Charset>)+
test_accept_charset {

View File

@@ -22,6 +22,40 @@ header! {
#[doc="* `*`"]
#[doc="* `compress;q=0.5, gzip;q=1`"]
#[doc="* `gzip;q=1.0, identity; q=0.5, *;q=0`"]
#[doc=""]
#[doc="# Examples"]
#[doc="```"]
#[doc="use hyper::header::{Headers, AcceptEncoding, Encoding, qitem};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" AcceptEncoding(vec![qitem(Encoding::Chunked)])"]
#[doc=");"]
#[doc="```"]
#[doc="```"]
#[doc="use hyper::header::{Headers, AcceptEncoding, Encoding, qitem};"]
#[doc=" "]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" AcceptEncoding(vec!["]
#[doc=" qitem(Encoding::Chunked),"]
#[doc=" qitem(Encoding::Gzip),"]
#[doc=" qitem(Encoding::Deflate),"]
#[doc=" ])"]
#[doc=");"]
#[doc="```"]
#[doc="```"]
#[doc="use hyper::header::{Headers, AcceptEncoding, Encoding, QualityItem, Quality, qitem};"]
#[doc=" "]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" AcceptEncoding(vec!["]
#[doc=" qitem(Encoding::Chunked),"]
#[doc=" QualityItem::new(Encoding::Gzip, Quality(600)),"]
#[doc=" QualityItem::new(Encoding::EncodingExt(\"*\".to_owned()), Quality(0)),"]
#[doc=" ])"]
#[doc=");"]
#[doc="```"]
(AcceptEncoding, "Accept-Encoding") => (QualityItem<Encoding>)*
test_accept_encoding {

View File

@@ -17,6 +17,52 @@ header! {
#[doc="# Example values"]
#[doc="* `da, en-gb;q=0.8, en;q=0.7`"]
#[doc="* `en-us;q=1.0, en;q=0.5, fr`"]
#[doc=""]
#[doc="# Examples"]
#[doc="```"]
#[doc="use hyper::header::{Headers, AcceptLanguage, Language, qitem};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" AcceptLanguage(vec!["]
#[doc=" qitem("]
#[doc=" Language {"]
#[doc=" primary: \"en\".to_owned(),"]
#[doc=" sub: Some(\"us\".to_owned()),"]
#[doc=" }"]
#[doc=" ),"]
#[doc=" ])"]
#[doc=");"]
#[doc="```"]
#[doc="```"]
#[doc="use hyper::header::{Headers, AcceptLanguage, Language, QualityItem, Quality, qitem};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" AcceptLanguage(vec!["]
#[doc=" qitem("]
#[doc=" Language {"]
#[doc=" primary: \"da\".to_owned(),"]
#[doc=" sub: None,"]
#[doc=" }"]
#[doc=" ),"]
#[doc=" QualityItem::new("]
#[doc=" Language {"]
#[doc=" primary: \"en\".to_owned(),"]
#[doc=" sub: Some(\"gb\".to_owned()),"]
#[doc=" },"]
#[doc=" Quality(800),"]
#[doc=" ),"]
#[doc=" QualityItem::new("]
#[doc=" Language {"]
#[doc=" primary: \"en\".to_owned(),"]
#[doc=" sub: None,"]
#[doc=" },"]
#[doc=" Quality(700),"]
#[doc=" ),"]
#[doc=" ])"]
#[doc=");"]
#[doc="```"]
(AcceptLanguage, "Accept-Language") => (QualityItem<Language>)+
test_accept_language {

View File

@@ -18,6 +18,33 @@ header! {
#[doc="* `none`"]
#[doc="* `unknown-unit`"]
#[doc="```"]
#[doc=""]
#[doc="# Examples"]
#[doc="```"]
#[doc="use hyper::header::{Headers, AcceptRanges, RangeUnit};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set(AcceptRanges(vec![RangeUnit::Bytes]));"]
#[doc="```"]
#[doc="```"]
#[doc="use hyper::header::{Headers, AcceptRanges, RangeUnit};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set(AcceptRanges(vec![RangeUnit::None]));"]
#[doc="```"]
#[doc="```"]
#[doc="use hyper::header::{Headers, AcceptRanges, RangeUnit};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" AcceptRanges(vec!["]
#[doc=" RangeUnit::Unregistered(\"nibbles\".to_owned()),"]
#[doc=" RangeUnit::Bytes,"]
#[doc=" RangeUnit::Unregistered(\"doublets\".to_owned()),"]
#[doc=" RangeUnit::Unregistered(\"quadlets\".to_owned()),"]
#[doc=" ])"]
#[doc=");"]
#[doc="```"]
(AcceptRanges, "Accept-Ranges") => (RangeUnit)+
test_acccept_ranges {

View File

@@ -15,6 +15,41 @@ header! {
#[doc=""]
#[doc="# Example values"]
#[doc="* `accept-language, date`"]
#[doc=""]
#[doc="# Examples"]
#[doc="```"]
#[doc="# extern crate hyper;"]
#[doc="# extern crate unicase;"]
#[doc="# fn main() {"]
#[doc="// extern crate unicase;"]
#[doc=""]
#[doc="use hyper::header::{Headers, AccessControlAllowHeaders};"]
#[doc="use unicase::UniCase;"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" AccessControlAllowHeaders(vec![UniCase(\"date\".to_owned())])"]
#[doc=");"]
#[doc="# }"]
#[doc="```"]
#[doc="```"]
#[doc="# extern crate hyper;"]
#[doc="# extern crate unicase;"]
#[doc="# fn main() {"]
#[doc="// extern crate unicase;"]
#[doc=""]
#[doc="use hyper::header::{Headers, AccessControlAllowHeaders};"]
#[doc="use unicase::UniCase;"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" AccessControlAllowHeaders(vec!["]
#[doc=" UniCase(\"accept-language\".to_owned()),"]
#[doc=" UniCase(\"date\".to_owned()),"]
#[doc=" ])"]
#[doc=");"]
#[doc="# }"]
#[doc="```"]
(AccessControlAllowHeaders, "Access-Control-Allow-Headers") => (UniCase<String>)*
test_access_control_allow_headers {

View File

@@ -15,6 +15,31 @@ header! {
#[doc=""]
#[doc="# Example values"]
#[doc="* `PUT, DELETE, XMODIFY`"]
#[doc=""]
#[doc="# Examples"]
#[doc="```"]
#[doc="use hyper::header::{Headers, AccessControlAllowMethods};"]
#[doc="use hyper::method::Method;"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" AccessControlAllowMethods(vec![Method::Get])"]
#[doc=");"]
#[doc="```"]
#[doc="```"]
#[doc="use hyper::header::{Headers, AccessControlAllowMethods};"]
#[doc="use hyper::method::Method;"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" AccessControlAllowMethods(vec!["]
#[doc=" Method::Get,"]
#[doc=" Method::Post,"]
#[doc=" Method::Patch,"]
#[doc=" Method::Extension(\"COPY\".to_owned()),"]
#[doc=" ])"]
#[doc=");"]
#[doc="```"]
(AccessControlAllowMethods, "Access-Control-Allow-Methods") => (Method)*
test_access_control_allow_methods {

View File

@@ -20,6 +20,33 @@ use header::{Header, HeaderFormat};
/// * `null`
/// * `*`
/// * `http://google.com/`
///
/// # Examples
/// ```
/// use hyper::header::{Headers, AccessControlAllowOrigin};
///
/// let mut headers = Headers::new();
/// headers.set(
/// AccessControlAllowOrigin::Any
/// );
/// ```
/// ```
/// use hyper::header::{Headers, AccessControlAllowOrigin};
///
/// let mut headers = Headers::new();
/// headers.set(
/// AccessControlAllowOrigin::Null,
/// );
/// ```
/// ```
/// use hyper::header::{Headers, AccessControlAllowOrigin};
/// use hyper::Url;
///
/// let mut headers = Headers::new();
/// headers.set(
/// AccessControlAllowOrigin::Value(Url::parse("http://hyper.rs").unwrap())
/// );
/// ```
#[derive(Clone, PartialEq, Debug)]
pub enum AccessControlAllowOrigin {
/// Allow all origins

View File

@@ -12,6 +12,14 @@ header! {
#[doc=""]
#[doc="# Example values"]
#[doc="* `531`"]
#[doc=""]
#[doc="# Examples"]
#[doc="```"]
#[doc="use hyper::header::{Headers, AccessControlMaxAge};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set(AccessControlMaxAge(1728000u32));"]
#[doc="```"]
(AccessControlMaxAge, "Access-Control-Max-Age") => [u32]
test_access_control_max_age {

View File

@@ -15,6 +15,41 @@ header! {
#[doc=""]
#[doc="# Example values"]
#[doc="* `accept-language, date`"]
#[doc=""]
#[doc="# Examples"]
#[doc="```"]
#[doc="# extern crate hyper;"]
#[doc="# extern crate unicase;"]
#[doc="# fn main() {"]
#[doc="// extern crate unicase;"]
#[doc=""]
#[doc="use hyper::header::{Headers, AccessControlRequestHeaders};"]
#[doc="use unicase::UniCase;"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" AccessControlRequestHeaders(vec![UniCase(\"date\".to_owned())])"]
#[doc=");"]
#[doc="# }"]
#[doc="```"]
#[doc="```"]
#[doc="# extern crate hyper;"]
#[doc="# extern crate unicase;"]
#[doc="# fn main() {"]
#[doc="// extern crate unicase;"]
#[doc=""]
#[doc="use hyper::header::{Headers, AccessControlRequestHeaders};"]
#[doc="use unicase::UniCase;"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" AccessControlRequestHeaders(vec!["]
#[doc=" UniCase(\"accept-language\".to_owned()),"]
#[doc=" UniCase(\"date\".to_owned()),"]
#[doc=" ])"]
#[doc=");"]
#[doc="# }"]
#[doc="```"]
(AccessControlRequestHeaders, "Access-Control-Request-Headers") => (UniCase<String>)*
test_access_control_request_headers {

View File

@@ -13,6 +13,15 @@ header! {
#[doc=""]
#[doc="# Example values"]
#[doc="* `GET`"]
#[doc=""]
#[doc="# Examples"]
#[doc="```"]
#[doc="use hyper::header::{Headers, AccessControlRequestMethod};"]
#[doc="use hyper::method::Method;"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set(AccessControlRequestMethod(Method::Get));"]
#[doc="```"]
(AccessControlRequestMethod, "Access-Control-Request-Method") => [Method]
test_access_control_request_method {

View File

@@ -17,6 +17,31 @@ header! {
#[doc="* `GET, HEAD, PUT`"]
#[doc="* `OPTIONS, GET, PUT, POST, DELETE, HEAD, TRACE, CONNECT, PATCH, fOObAr`"]
#[doc="* ``"]
#[doc=""]
#[doc="# Examples"]
#[doc="```"]
#[doc="use hyper::header::{Headers, Allow};"]
#[doc="use hyper::method::Method;"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" Allow(vec![Method::Get])"]
#[doc=");"]
#[doc="```"]
#[doc="```"]
#[doc="use hyper::header::{Headers, Allow};"]
#[doc="use hyper::method::Method;"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" Allow(vec!["]
#[doc=" Method::Get,"]
#[doc=" Method::Post,"]
#[doc=" Method::Patch,"]
#[doc=" Method::Extension(\"COPY\".to_owned()),"]
#[doc=" ])"]
#[doc=");"]
#[doc="```"]
(Allow, "Allow") => (Method)*
test_allow {

View File

@@ -20,6 +20,27 @@ use header::{Header, HeaderFormat};
///
/// # Example values
/// * `Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==`
///
/// # Examples
/// ```
/// use hyper::header::{Headers, Authorization};
///
/// let mut headers = Headers::new();
/// headers.set(Authorization("let me in".to_owned()));
/// ```
/// ```
/// use hyper::header::{Headers, Authorization, Basic};
///
/// let mut headers = Headers::new();
/// headers.set(
/// Authorization(
/// Basic {
/// username: "Aladdin".to_owned(),
/// password: Some("open sesame".to_owned())
/// }
/// )
/// );
/// ```
#[derive(Clone, PartialEq, Debug)]
pub struct Authorization<S: Scheme>(pub S);

View File

@@ -20,6 +20,30 @@ use header::parsing::{from_one_comma_delimited, fmt_comma_delimited};
/// * `no-cache`
/// * `private, community="UCI"`
/// * `max-age=30`
///
/// # Examples
/// ```
/// use hyper::header::{Headers, CacheControl, CacheDirective};
///
/// let mut headers = Headers::new();
/// headers.set(
/// CacheControl(vec![CacheDirective::MaxAge(86400u32)])
/// );
/// ```
/// ```
/// use hyper::header::{Headers, CacheControl, CacheDirective};
///
/// let mut headers = Headers::new();
/// headers.set(
/// CacheControl(vec![
/// CacheDirective::NoCache,
/// CacheDirective::Private,
/// CacheDirective::MaxAge(360u32),
/// CacheDirective::Extension("foo".to_owned(),
/// Some("bar".to_owned())),
/// ])
/// );
/// ```
#[derive(PartialEq, Clone, Debug)]
pub struct CacheControl(pub Vec<CacheDirective>);

View File

@@ -62,6 +62,32 @@ header! {
#[doc="* `close`"]
#[doc="* `keep-alive`"]
#[doc="* `upgrade`"]
#[doc="```"]
#[doc=""]
#[doc="# Examples"]
#[doc="```"]
#[doc="use hyper::header::{Headers, Connection};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set(Connection::keep_alive());"]
#[doc="```"]
#[doc="```"]
#[doc="# extern crate hyper;"]
#[doc="# extern crate unicase;"]
#[doc="# fn main() {"]
#[doc="// extern crate unicase;"]
#[doc=""]
#[doc="use hyper::header::{Headers, Connection, ConnectionOption};"]
#[doc="use unicase::UniCase;"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" Connection(vec!["]
#[doc=" ConnectionOption::ConnectionHeader(UniCase(\"upgrade\".to_owned())),"]
#[doc=" ])"]
#[doc=");"]
#[doc="# }"]
#[doc="```"]
(Connection, "Connection") => (ConnectionOption)+
test_connection {

View File

@@ -19,6 +19,25 @@ header! {
#[doc=""]
#[doc="# Example values"]
#[doc="* `gzip`"]
#[doc=""]
#[doc="# Examples"]
#[doc="```"]
#[doc="use hyper::header::{Headers, ContentEncoding, Encoding};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set(ContentEncoding(vec![Encoding::Chunked]));"]
#[doc="```"]
#[doc="```"]
#[doc="use hyper::header::{Headers, ContentEncoding, Encoding};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" ContentEncoding(vec!["]
#[doc=" Encoding::Gzip,"]
#[doc=" Encoding::Chunked,"]
#[doc=" ])"]
#[doc=");"]
#[doc="```"]
(ContentEncoding, "Content-Encoding") => (Encoding)+
test_content_encoding {

View File

@@ -17,6 +17,44 @@ header! {
#[doc="# Example values"]
#[doc="* `da`"]
#[doc="* `mi, en`"]
#[doc=""]
#[doc="# Examples"]
#[doc="```"]
#[doc="use hyper::header::{Headers, ContentLanguage, Language, qitem};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" ContentLanguage(vec!["]
#[doc=" qitem("]
#[doc=" Language { "]
#[doc=" primary: \"en\".to_owned(),"]
#[doc=" sub: None,"]
#[doc=" }"]
#[doc=" ),"]
#[doc=" ])"]
#[doc=");"]
#[doc="```"]
#[doc="```"]
#[doc="use hyper::header::{Headers, ContentLanguage, Language, qitem};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" ContentLanguage(vec!["]
#[doc=" qitem("]
#[doc=" Language {"]
#[doc=" primary: \"da\".to_owned(),"]
#[doc=" sub: None,"]
#[doc=" }"]
#[doc=" ),"]
#[doc=" qitem("]
#[doc=" Language {"]
#[doc=" primary: \"en\".to_owned(),"]
#[doc=" sub: Some(\"gb\".to_owned()),"]
#[doc=" }"]
#[doc=" ),"]
#[doc=" ])"]
#[doc=");"]
#[doc="```"]
(ContentLanguage, "Content-Language") => (QualityItem<Language>)+
test_content_language {

View File

@@ -18,6 +18,14 @@ header! {
#[doc=""]
#[doc="# Example values"]
#[doc="* `3495`"]
#[doc=""]
#[doc="# Example"]
#[doc="```"]
#[doc="use hyper::header::{Headers, ContentLength};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set(ContentLength(1024u64));"]
#[doc="```"]
(ContentLength, "Content-Length") => [u64]
test_content_length {

View File

@@ -19,6 +19,29 @@ header! {
#[doc=""]
#[doc="# Example values"]
#[doc="* `text/html; charset=ISO-8859-4`"]
#[doc=""]
#[doc="# Examples"]
#[doc="```"]
#[doc="use hyper::header::{Headers, ContentType};"]
#[doc="use hyper::mime::{Mime, TopLevel, SubLevel};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc=""]
#[doc="headers.set("]
#[doc=" ContentType(Mime(TopLevel::Text, SubLevel::Html, vec![]))"]
#[doc=");"]
#[doc="```"]
#[doc="```"]
#[doc="use hyper::header::{Headers, ContentType};"]
#[doc="use hyper::mime::{Mime, TopLevel, SubLevel, Attr, Value};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" ContentType(Mime(TopLevel::Application, SubLevel::Json,"]
#[doc=" vec![(Attr::Charset, Value::Utf8)]))"]
#[doc=""]
#[doc=");"]
#[doc="```"]
(ContentType, "Content-Type") => [Mime]
test_content_type {

View File

@@ -17,6 +17,24 @@ use cookie::CookieJar;
/// # Example values
/// * `SID=31d4d96e407aad42`
/// * `SID=31d4d96e407aad42; lang=en-US`
///
/// # Example
/// ```
/// # extern crate hyper;
/// # extern crate cookie;
/// # fn main() {
/// use hyper::header::{Headers, Cookie};
/// use cookie::Cookie as CookiePair;
///
/// let mut headers = Headers::new();
///
/// headers.set(
/// Cookie(vec![
/// CookiePair::new("foo".to_owned(), "bar".to_owned())
/// ])
/// );
/// # }
/// ```
#[derive(Clone, PartialEq, Debug)]
pub struct Cookie(pub Vec<CookiePair>);

View File

@@ -13,6 +13,21 @@ header! {
#[doc=""]
#[doc="# Example values"]
#[doc="* `Tue, 15 Nov 1994 08:12:31 GMT`"]
#[doc=""]
#[doc="# Example"]
#[doc="```"]
#[doc="# extern crate time;"]
#[doc="# extern crate hyper;"]
#[doc="# fn main() {"]
#[doc="// extern crate time;"]
#[doc=""]
#[doc="use hyper::header::{Headers, Date, HttpDate};"]
#[doc="use time;"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set(Date(HttpDate(time::now())));"]
#[doc="# }"]
#[doc="```"]
(Date, "Date") => [HttpDate]
test_date {

View File

@@ -22,6 +22,20 @@ header! {
#[doc="* `\"xyzzy\"`"]
#[doc="* `W/\"xyzzy\"`"]
#[doc="* `\"\"`"]
#[doc=""]
#[doc="# Examples"]
#[doc="```"]
#[doc="use hyper::header::{Headers, ETag, EntityTag};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set(ETag(EntityTag::new(false, \"xyzzy\".to_owned())));"]
#[doc="```"]
#[doc="```"]
#[doc="use hyper::header::{Headers, ETag, EntityTag};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set(ETag(EntityTag::new(true, \"xyzzy\".to_owned())));"]
#[doc="```"]
(ETag, "ETag") => [EntityTag]
test_etag {

View File

@@ -13,6 +13,13 @@ use header::{Header, HeaderFormat};
/// > defined by this specification is 100-continue.
/// >
/// > Expect = "100-continue"
///
/// # Example
/// ```
/// use hyper::header::{Headers, Expect};
/// let mut headers = Headers::new();
/// headers.set(Expect::Continue);
/// ```
#[derive(Copy, Clone, PartialEq, Debug)]
pub enum Expect {
/// The value `100-continue`.

View File

@@ -17,6 +17,21 @@ header! {
#[doc=""]
#[doc="# Example values"]
#[doc="* `Thu, 01 Dec 1994 16:00:00 GMT`"]
#[doc=""]
#[doc="# Example"]
#[doc="```"]
#[doc="# extern crate hyper;"]
#[doc="# extern crate time;"]
#[doc="# fn main() {"]
#[doc="// extern crate time;"]
#[doc=""]
#[doc="use hyper::header::{Headers, Expires, HttpDate};"]
#[doc="use time::{self, Duration};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set(Expires(HttpDate(time::now() + Duration::days(1))));"]
#[doc="# }"]
#[doc="```"]
(Expires, "Expires") => [HttpDate]
test_expires {

View File

@@ -9,6 +9,14 @@ header! {
#[doc="From = mailbox"]
#[doc="mailbox = <mailbox, see [RFC5322], Section 3.4>"]
#[doc="```"]
#[doc=""]
#[doc="# Example"]
#[doc="```"]
#[doc="use hyper::header::{Headers, From};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set(From(\"webmaster@example.org\".to_owned()));"]
#[doc="```"]
// FIXME: Maybe use mailbox?
(From, "From") => [String]

View File

@@ -9,6 +9,30 @@ use header::parsing::from_one_raw_str;
///
/// Currently is just a String, but it should probably become a better type,
/// like url::Host or something.
///
/// # Examples
/// ```
/// use hyper::header::{Headers, Host};
///
/// let mut headers = Headers::new();
/// headers.set(
/// Host{
/// hostname: "hyper.rs".to_owned(),
/// port: None,
/// }
/// );
/// ```
/// ```
/// use hyper::header::{Headers, Host};
///
/// let mut headers = Headers::new();
/// headers.set(
/// Host{
/// hostname: "hyper.rs".to_owned(),
/// port: Some(8080),
/// }
/// );
/// ```
#[derive(Clone, PartialEq, Debug)]
pub struct Host {
/// The hostname, such a example.domain.

View File

@@ -24,6 +24,26 @@ header! {
#[doc="# Example values"]
#[doc="* `\"xyzzy\"`"]
#[doc="* \"xyzzy\", \"r2d2xxxx\", \"c3piozzzz\""]
#[doc=""]
#[doc="# Examples"]
#[doc="```"]
#[doc="use hyper::header::{Headers, IfMatch};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set(IfMatch::Any);"]
#[doc="```"]
#[doc="```"]
#[doc="use hyper::header::{Headers, IfMatch, EntityTag};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" IfMatch::Items(vec!["]
#[doc=" EntityTag::new(false, \"xyzzy\".to_owned()),"]
#[doc=" EntityTag::new(false, \"foobar\".to_owned()),"]
#[doc=" EntityTag::new(false, \"bazquux\".to_owned()),"]
#[doc=" ])"]
#[doc=");"]
#[doc="```"]
(IfMatch, "If-Match") => {Any / (EntityTag)+}
test_if_match {

View File

@@ -17,6 +17,21 @@ header! {
#[doc=""]
#[doc="# Example values"]
#[doc="* `Sat, 29 Oct 1994 19:43:31 GMT`"]
#[doc=""]
#[doc="# Example"]
#[doc="```"]
#[doc="# extern crate hyper;"]
#[doc="# extern crate time;"]
#[doc="# fn main() {"]
#[doc="// extern crate time;"]
#[doc=""]
#[doc="use hyper::header::{Headers, IfModifiedSince, HttpDate};"]
#[doc="use time::{self, Duration};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set(IfModifiedSince(HttpDate(time::now() - Duration::days(1))));"]
#[doc="# }"]
#[doc="```"]
(IfModifiedSince, "If-Modified-Since") => [HttpDate]
test_if_modified_since {

View File

@@ -26,6 +26,26 @@ header! {
#[doc="* `\"xyzzy\", \"r2d2xxxx\", \"c3piozzzz\"`"]
#[doc="* `W/\"xyzzy\", W/\"r2d2xxxx\", W/\"c3piozzzz\"`"]
#[doc="* `*`"]
#[doc=""]
#[doc="# Examples"]
#[doc="```"]
#[doc="use hyper::header::{Headers, IfNoneMatch};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set(IfNoneMatch::Any);"]
#[doc="```"]
#[doc="```"]
#[doc="use hyper::header::{Headers, IfNoneMatch, EntityTag};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" IfNoneMatch::Items(vec!["]
#[doc=" EntityTag::new(false, \"xyzzy\".to_owned()),"]
#[doc=" EntityTag::new(false, \"foobar\".to_owned()),"]
#[doc=" EntityTag::new(false, \"bazquux\".to_owned()),"]
#[doc=" ])"]
#[doc=");"]
#[doc="```"]
(IfNoneMatch, "If-None-Match") => {Any / (EntityTag)+}
test_if_none_match {

View File

@@ -24,6 +24,27 @@ use header::{self, Header, HeaderFormat, EntityTag, HttpDate};
/// # Example values
/// * `Sat, 29 Oct 1994 19:43:31 GMT`
/// * `\"xyzzy\"`
///
/// # Examples
/// ```
/// use hyper::header::{Headers, IfRange, EntityTag};
///
/// let mut headers = Headers::new();
/// headers.set(IfRange::EntityTag(EntityTag::new(false, "xyzzy".to_owned())));
/// ```
/// ```
/// # extern crate hyper;
/// # extern crate time;
/// # fn main() {
/// // extern crate time;
///
/// use hyper::header::{Headers, IfRange, HttpDate};
/// use time::{self, Duration};
///
/// let mut headers = Headers::new();
/// headers.set(IfRange::Date(HttpDate(time::now() - Duration::days(1))));
/// # }
/// ```
#[derive(Clone, Debug, PartialEq)]
pub enum IfRange {
/// The entity-tag the client has of the resource

View File

@@ -17,6 +17,21 @@ header! {
#[doc=""]
#[doc="# Example values"]
#[doc="* `Sat, 29 Oct 1994 19:43:31 GMT`"]
#[doc=""]
#[doc="# Example"]
#[doc="```"]
#[doc="# extern crate hyper;"]
#[doc="# extern crate time;"]
#[doc="# fn main() {"]
#[doc="// extern crate time;"]
#[doc=""]
#[doc="use hyper::header::{Headers, IfUnmodifiedSince, HttpDate};"]
#[doc="use time::{self, Duration};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set(IfUnmodifiedSince(HttpDate(time::now() - Duration::days(1))));"]
#[doc="# }"]
#[doc="```"]
(IfUnmodifiedSince, "If-Unmodified-Since") => [HttpDate]
test_if_unmodified_since {

View File

@@ -16,6 +16,21 @@ header! {
#[doc=""]
#[doc="# Example values"]
#[doc="* `Sat, 29 Oct 1994 19:43:31 GMT`"]
#[doc=""]
#[doc="# Example"]
#[doc="```"]
#[doc="# extern crate hyper;"]
#[doc="# extern crate time;"]
#[doc="# fn main() {"]
#[doc="// extern crate time;"]
#[doc=""]
#[doc="use hyper::header::{Headers, LastModified, HttpDate};"]
#[doc="use time::{self, Duration};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set(LastModified(HttpDate(time::now() - Duration::days(1))));"]
#[doc="# }"]
#[doc="```"]
(LastModified, "Last-Modified") => [HttpDate]
test_last_modified {

View File

@@ -15,6 +15,20 @@ header! {
#[doc="# Example values"]
#[doc="* `/People.html#tim`"]
#[doc="* `http://www.example.net/index.html`"]
#[doc=""]
#[doc="# Examples"]
#[doc="```"]
#[doc="use hyper::header::{Headers, Location};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set(Location(\"/People.html#tim\".to_owned()));"]
#[doc="```"]
#[doc="```"]
#[doc="use hyper::header::{Headers, Location};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set(Location(\"http://www.example.com/index.html\".to_owned()));"]
#[doc="```"]
// TODO: Use URL
(Location, "Location") => [String]

View File

@@ -16,6 +16,20 @@ use header::{Header, HeaderFormat, parsing};
/// > specification deprecates such extensions to improve interoperability.
///
/// Spec: https://tools.ietf.org/html/rfc7234#section-5.4
///
/// # Examples
/// ```
/// use hyper::header::{Headers, Pragma};
///
/// let mut headers = Headers::new();
/// headers.set(Pragma::NoCache);
/// ```
/// ```
/// use hyper::header::{Headers, Pragma};
///
/// let mut headers = Headers::new();
/// headers.set(Pragma::Ext("foobar".to_owned()));
/// ```
#[derive(Clone, PartialEq, Debug)]
pub enum Pragma {
/// Corresponds to the `no-cache` value.

View File

@@ -15,6 +15,20 @@ header! {
#[doc=""]
#[doc="# Example values"]
#[doc="* `http://www.example.org/hypertext/Overview.html`"]
#[doc=""]
#[doc="# Examples"]
#[doc="```"]
#[doc="use hyper::header::{Headers, Referer};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set(Referer(\"/People.html#tim\".to_owned()));"]
#[doc="```"]
#[doc="```"]
#[doc="use hyper::header::{Headers, Referer};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set(Referer(\"http://www.example.com/index.html\".to_owned()));"]
#[doc="```"]
// TODO: Use URL
(Referer, "Referer") => [String]

View File

@@ -16,6 +16,14 @@ header! {
#[doc=""]
#[doc="# Example values"]
#[doc="* `CERN/3.0 libwww/2.17`"]
#[doc=""]
#[doc="# Example"]
#[doc="```"]
#[doc="use hyper::header::{Headers, Server};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set(Server(\"hyper/0.5.2\".to_owned()));"]
#[doc="```"]
// TODO: Maybe parse as defined in the spec?
(Server, "Server") => [String]

View File

@@ -54,6 +54,31 @@ use cookie::CookieJar;
/// * `lang=en-US; Expires=Wed, 09 Jun 2021 10:18:14 GMT`
/// * `lang=; Expires=Sun, 06 Nov 1994 08:49:37 GMT`
/// * `lang=en-US; Path=/; Domain=example.com`
///
/// # Example
/// ```
/// # extern crate hyper;
/// # extern crate cookie;
/// # fn main() {
/// // extern crate cookie;
///
/// use hyper::header::{Headers, SetCookie};
/// use cookie::Cookie as CookiePair;
///
/// let mut headers = Headers::new();
/// let mut cookie = CookiePair::new("foo".to_owned(), "bar".to_owned());
///
/// cookie.path = Some("/path".to_owned());
/// cookie.domain = Some("example.com".to_owned());
///
/// headers.set(
/// SetCookie(vec![
/// cookie,
/// CookiePair::new("baz".to_owned(), "quux".to_owned()),
/// ])
/// );
/// # }
/// ```
#[derive(Clone, PartialEq, Debug)]
pub struct SetCookie(pub Vec<Cookie>);

View File

@@ -16,6 +16,19 @@ header! {
#[doc=""]
#[doc="# Example values"]
#[doc="* `gzip, chunked`"]
#[doc=""]
#[doc="# Example"]
#[doc="```"]
#[doc="use hyper::header::{Headers, TransferEncoding, Encoding};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" TransferEncoding(vec!["]
#[doc=" Encoding::Gzip,"]
#[doc=" Encoding::Chunked,"]
#[doc=" ])"]
#[doc=");"]
#[doc="```"]
(TransferEncoding, "Transfer-Encoding") => (Encoding)+
transfer_encoding {

View File

@@ -26,6 +26,27 @@ header! {
#[doc=""]
#[doc="# Example values"]
#[doc="* `HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11`"]
#[doc=""]
#[doc="# Examples"]
#[doc="```"]
#[doc="use hyper::header::{Headers, Upgrade, Protocol, ProtocolName};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set(Upgrade(vec![Protocol::new(ProtocolName::WebSocket, None)]));"]
#[doc="```"]
#[doc="```"]
#[doc="use hyper::header::{Headers, Upgrade, Protocol, ProtocolName};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" Upgrade(vec!["]
#[doc=" Protocol::new(ProtocolName::Http, Some(\"2.0\".to_owned())),"]
#[doc=" Protocol::new(ProtocolName::Unregistered(\"SHTTP\".to_owned()), Some(\"1.3\".to_owned())),"]
#[doc=" Protocol::new(ProtocolName::Unregistered(\"IRC\".to_owned()), Some(\"6.9\".to_owned())),"]
#[doc=" Protocol::new(ProtocolName::Unregistered(\"RTA\".to_owned()), Some(\"x11\".to_owned())),"]
#[doc=" ])"]
#[doc=");"]
#[doc="```"]
(Upgrade, "Upgrade") => (Protocol)+
test_upgrade {

View File

@@ -23,6 +23,14 @@ header! {
#[doc=""]
#[doc="# Notes"]
#[doc="* The parser does not split the value"]
#[doc=""]
#[doc="# Example"]
#[doc="```"]
#[doc="use hyper::header::{Headers, UserAgent};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set(UserAgent(\"hyper/0.5.2\".to_owned()));"]
#[doc="```"]
(UserAgent, "User-Agent") => [String]
test_user_agent {

View File

@@ -17,6 +17,34 @@ header! {
#[doc=""]
#[doc="# Example values"]
#[doc="* `accept-encoding, accept-language`"]
#[doc=""]
#[doc="# Example"]
#[doc="```"]
#[doc="use hyper::header::{Headers, Vary};"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set(Vary::Any);"]
#[doc="```"]
#[doc=""]
#[doc="# Example"]
#[doc="```"]
#[doc="# extern crate hyper;"]
#[doc="# extern crate unicase;"]
#[doc="# fn main() {"]
#[doc="// extern crate unicase;"]
#[doc=""]
#[doc="use hyper::header::{Headers, Vary};"]
#[doc="use unicase::UniCase;"]
#[doc=""]
#[doc="let mut headers = Headers::new();"]
#[doc="headers.set("]
#[doc=" Vary::Items(vec!["]
#[doc=" UniCase(\"accept-encoding\".to_owned()),"]
#[doc=" UniCase(\"accept-language\".to_owned()),"]
#[doc=" ])"]
#[doc=");"]
#[doc="# }"]
#[doc="```"]
(Vary, "Vary") => {Any / (UniCase<String>)+}
test_vary {