Merge pull request #567 from clatour/header-docs
docs(headers): add examples
This commit is contained in:
@@ -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."]
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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>);
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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>);
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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`.
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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]
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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]
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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]
|
||||
|
||||
|
||||
@@ -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]
|
||||
|
||||
|
||||
@@ -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>);
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user