Merge branch 'master' into accesscontrol
This commit is contained in:
@@ -25,7 +25,7 @@ use mime;
|
||||
/// qitem(Mime(Text, Html, vec![])),
|
||||
/// qitem(Mime(Text, Xml, vec![])) ]));
|
||||
/// ```
|
||||
#[deriving(Clone, PartialEq, Show)]
|
||||
#[derive(Clone, PartialEq, Show)]
|
||||
pub struct Accept(pub Vec<shared::QualityItem<mime::Mime>>);
|
||||
|
||||
deref!(Accept -> Vec<shared::QualityItem<mime::Mime>>);
|
||||
|
||||
@@ -7,7 +7,7 @@ use header::shared;
|
||||
///
|
||||
/// The `Accept-Encoding` header can be used by clients to indicate what
|
||||
/// response encodings they accept.
|
||||
#[deriving(Clone, PartialEq, Show)]
|
||||
#[derive(Clone, PartialEq, Show)]
|
||||
pub struct AcceptEncoding(pub Vec<shared::QualityItem<shared::Encoding>>);
|
||||
|
||||
deref!(AcceptEncoding -> Vec<shared::QualityItem<shared::Encoding>>);
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
use header::{Header, HeaderFormat};
|
||||
use method::Method;
|
||||
use std::fmt::{mod};
|
||||
use std::fmt::{self};
|
||||
use header::shared::util::{from_comma_delimited, fmt_comma_delimited};
|
||||
|
||||
/// The `Allow` header.
|
||||
/// See also https://tools.ietf.org/html/rfc7231#section-7.4.1
|
||||
|
||||
#[deriving(Clone, PartialEq, Show)]
|
||||
#[derive(Clone, PartialEq, Show)]
|
||||
pub struct Allow(pub Vec<Method>);
|
||||
|
||||
deref!(Allow -> Vec<Method>);
|
||||
@@ -31,7 +31,7 @@ impl HeaderFormat for Allow {
|
||||
mod tests {
|
||||
use super::Allow;
|
||||
use header::Header;
|
||||
use method::Method::{mod, Options, Get, Put, Post, Delete, Head, Trace, Connect, Patch, Extension};
|
||||
use method::Method::{self, Options, Get, Put, Post, Delete, Head, Trace, Connect, Patch, Extension};
|
||||
|
||||
#[test]
|
||||
fn test_allow() {
|
||||
|
||||
@@ -1,19 +1,22 @@
|
||||
use std::fmt::{mod, Show};
|
||||
use std::fmt::{self, Show};
|
||||
use std::str::{FromStr, from_utf8};
|
||||
use std::ops::{Deref, DerefMut};
|
||||
use serialize::base64::{ToBase64, FromBase64, Standard, Config, Newline};
|
||||
use header::{Header, HeaderFormat};
|
||||
|
||||
/// The `Authorization` header field.
|
||||
#[deriving(Clone, PartialEq, Show)]
|
||||
#[derive(Clone, PartialEq, Show)]
|
||||
pub struct Authorization<S: Scheme>(pub S);
|
||||
|
||||
impl<S: Scheme> Deref<S> for Authorization<S> {
|
||||
impl<S: Scheme> Deref for Authorization<S> {
|
||||
type Target = S;
|
||||
|
||||
fn deref<'a>(&'a self) -> &'a S {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
|
||||
impl<S: Scheme> DerefMut<S> for Authorization<S> {
|
||||
impl<S: Scheme> DerefMut for Authorization<S> {
|
||||
fn deref_mut<'a>(&'a mut self) -> &'a mut S {
|
||||
&mut self.0
|
||||
}
|
||||
@@ -72,7 +75,7 @@ impl Scheme for String {
|
||||
}
|
||||
|
||||
/// Credential holder for Basic Authentication
|
||||
#[deriving(Clone, PartialEq, Show)]
|
||||
#[derive(Clone, PartialEq, Show)]
|
||||
pub struct Basic {
|
||||
/// The username as a possibly empty string
|
||||
pub username: String,
|
||||
|
||||
@@ -4,7 +4,7 @@ use header::{Header, HeaderFormat};
|
||||
use header::shared::util::{from_one_comma_delimited, fmt_comma_delimited};
|
||||
|
||||
/// The Cache-Control header.
|
||||
#[deriving(PartialEq, Clone, Show)]
|
||||
#[derive(PartialEq, Clone, Show)]
|
||||
pub struct CacheControl(pub Vec<CacheDirective>);
|
||||
|
||||
deref!(CacheControl -> Vec<CacheDirective>);
|
||||
@@ -34,7 +34,7 @@ impl HeaderFormat for CacheControl {
|
||||
}
|
||||
|
||||
/// CacheControl contains a list of these directives.
|
||||
#[deriving(PartialEq, Clone)]
|
||||
#[derive(PartialEq, Clone)]
|
||||
pub enum CacheDirective {
|
||||
/// "no-cache"
|
||||
NoCache,
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
use header::{Header, HeaderFormat};
|
||||
use std::fmt::{mod, Show};
|
||||
use std::fmt::{self, Show};
|
||||
use std::str::FromStr;
|
||||
use header::shared::util::{from_comma_delimited, fmt_comma_delimited};
|
||||
|
||||
pub use self::ConnectionOption::{KeepAlive, Close, ConnectionHeader};
|
||||
|
||||
/// The `Connection` header.
|
||||
#[deriving(Clone, PartialEq, Show)]
|
||||
#[derive(Clone, PartialEq, Show)]
|
||||
pub struct Connection(pub Vec<ConnectionOption>);
|
||||
|
||||
deref!(Connection -> Vec<ConnectionOption>);
|
||||
|
||||
/// Values that can be in the `Connection` header.
|
||||
#[deriving(Clone, PartialEq)]
|
||||
#[derive(Clone, PartialEq)]
|
||||
pub enum ConnectionOption {
|
||||
/// The `keep-alive` connection value.
|
||||
KeepAlive,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use std::fmt::{mod, Show};
|
||||
use std::fmt::{self, Show};
|
||||
|
||||
use header::{Header, HeaderFormat};
|
||||
use header::shared::util::from_one_raw_str;
|
||||
@@ -6,7 +6,7 @@ use header::shared::util::from_one_raw_str;
|
||||
/// The `Content-Length` header.
|
||||
///
|
||||
/// Simply a wrapper around a `uint`.
|
||||
#[deriving(Copy, Clone, PartialEq, Show)]
|
||||
#[derive(Copy, Clone, PartialEq, Show)]
|
||||
pub struct ContentLength(pub uint);
|
||||
|
||||
deref!(ContentLength -> uint);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use header::{Header, HeaderFormat};
|
||||
use std::fmt::{mod, Show};
|
||||
use std::fmt::{self, Show};
|
||||
use header::shared::util::from_one_raw_str;
|
||||
use mime::Mime;
|
||||
|
||||
@@ -7,7 +7,7 @@ use mime::Mime;
|
||||
///
|
||||
/// Used to describe the MIME type of message body. Can be used with both
|
||||
/// requests and responses.
|
||||
#[deriving(Clone, PartialEq, Show)]
|
||||
#[derive(Clone, PartialEq, Show)]
|
||||
pub struct ContentType(pub Mime);
|
||||
|
||||
deref!(ContentType -> Mime);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use header::{Header, HeaderFormat};
|
||||
use std::fmt::{mod, Show};
|
||||
use std::fmt::{self, Show};
|
||||
use std::str::from_utf8;
|
||||
|
||||
use cookie::Cookie;
|
||||
@@ -13,7 +13,7 @@ use cookie::CookieJar;
|
||||
///
|
||||
/// > When the user agent generates an HTTP request, the user agent MUST NOT
|
||||
/// > attach more than one Cookie header field.
|
||||
#[deriving(Clone, PartialEq, Show)]
|
||||
#[derive(Clone, PartialEq, Show)]
|
||||
pub struct Cookies(pub Vec<Cookie>);
|
||||
|
||||
//TODO: remove when fixed in libstd
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use std::fmt::{mod, Show};
|
||||
use std::fmt::{self, Show};
|
||||
use std::str::FromStr;
|
||||
use time::Tm;
|
||||
use header::{Header, HeaderFormat};
|
||||
@@ -7,7 +7,7 @@ use header::shared::time::tm_from_str;
|
||||
|
||||
// Egh, replace as soon as something better than time::Tm exists.
|
||||
/// The `Date` header field.
|
||||
#[deriving(Copy, PartialEq, Clone)]
|
||||
#[derive(Copy, PartialEq, Clone)]
|
||||
pub struct Date(pub Tm);
|
||||
|
||||
deref!(Date -> Tm);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use header::{Header, HeaderFormat};
|
||||
use std::fmt::{mod};
|
||||
use std::fmt::{self};
|
||||
use header::shared::util::from_one_raw_str;
|
||||
|
||||
/// The `Etag` header.
|
||||
@@ -8,7 +8,7 @@ use header::shared::util::from_one_raw_str;
|
||||
/// Preceding the first double quote is an optional weakness indicator,
|
||||
/// which always looks like this: W/
|
||||
/// See also: https://tools.ietf.org/html/rfc7232#section-2.3
|
||||
#[deriving(Clone, PartialEq, Show)]
|
||||
#[derive(Clone, PartialEq, Show)]
|
||||
pub struct Etag {
|
||||
/// Weakness indicator for the tag
|
||||
pub weak: bool,
|
||||
@@ -81,7 +81,7 @@ impl Header for Etag {
|
||||
impl HeaderFormat for Etag {
|
||||
fn fmt_header(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
||||
if self.weak {
|
||||
try!(fmt.write(b"W/"));
|
||||
try!(fmt.write_str("W/"));
|
||||
}
|
||||
write!(fmt, "\"{}\"", self.tag)
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use std::fmt::{mod, Show};
|
||||
use std::fmt::{self, Show};
|
||||
use std::str::FromStr;
|
||||
use time::Tm;
|
||||
use header::{Header, HeaderFormat};
|
||||
@@ -6,7 +6,7 @@ use header::shared::util::from_one_raw_str;
|
||||
use header::shared::time::tm_from_str;
|
||||
|
||||
/// The `Expires` header field.
|
||||
#[deriving(Copy, PartialEq, Clone)]
|
||||
#[derive(Copy, PartialEq, Clone)]
|
||||
pub struct Expires(pub Tm);
|
||||
|
||||
deref!(Expires -> Tm);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use header::{Header, HeaderFormat};
|
||||
use Port;
|
||||
use std::fmt::{mod, Show};
|
||||
use std::fmt::{self, Show};
|
||||
use header::shared::util::from_one_raw_str;
|
||||
|
||||
/// The `Host` header.
|
||||
@@ -10,7 +10,7 @@ use header::shared::util::from_one_raw_str;
|
||||
///
|
||||
/// Currently is just a String, but it should probably become a better type,
|
||||
/// like url::Host or something.
|
||||
#[deriving(Clone, PartialEq, Show)]
|
||||
#[derive(Clone, PartialEq, Show)]
|
||||
pub struct Host {
|
||||
/// The hostname, such a example.domain.
|
||||
pub hostname: String,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use std::fmt::{mod, Show};
|
||||
use std::fmt::{self, Show};
|
||||
use std::str::FromStr;
|
||||
use time::Tm;
|
||||
use header::{Header, HeaderFormat};
|
||||
@@ -6,7 +6,7 @@ use header::shared::util::from_one_raw_str;
|
||||
use header::shared::time::tm_from_str;
|
||||
|
||||
/// The `If-Modified-Since` header field.
|
||||
#[deriving(Copy, PartialEq, Clone)]
|
||||
#[derive(Copy, PartialEq, Clone)]
|
||||
pub struct IfModifiedSince(pub Tm);
|
||||
|
||||
deref!(IfModifiedSince -> Tm);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use std::fmt::{mod, Show};
|
||||
use std::fmt::{self, Show};
|
||||
use std::str::FromStr;
|
||||
use time::Tm;
|
||||
use header::{Header, HeaderFormat};
|
||||
@@ -6,7 +6,7 @@ use header::shared::util::from_one_raw_str;
|
||||
use header::shared::time::tm_from_str;
|
||||
|
||||
/// The `LastModified` header field.
|
||||
#[deriving(Copy, PartialEq, Clone)]
|
||||
#[derive(Copy, PartialEq, Clone)]
|
||||
pub struct LastModified(pub Tm);
|
||||
|
||||
deref!(LastModified -> Tm);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use header::{Header, HeaderFormat};
|
||||
use std::fmt::{mod, Show};
|
||||
use std::fmt::{self, Show};
|
||||
use header::shared::util::from_one_raw_str;
|
||||
|
||||
/// The `Location` header.
|
||||
@@ -13,7 +13,7 @@ use header::shared::util::from_one_raw_str;
|
||||
///
|
||||
/// Currently is just a String, but it should probably become a better type,
|
||||
/// like url::Url or something.
|
||||
#[deriving(Clone, PartialEq, Show)]
|
||||
#[derive(Clone, PartialEq, Show)]
|
||||
pub struct Location(pub String);
|
||||
|
||||
deref!(Location -> String);
|
||||
|
||||
@@ -60,13 +60,15 @@ macro_rules! bench_header(
|
||||
|
||||
macro_rules! deref(
|
||||
($from:ty -> $to:ty) => {
|
||||
impl Deref<$to> for $from {
|
||||
impl ::std::ops::Deref for $from {
|
||||
type Target = $to;
|
||||
|
||||
fn deref<'a>(&'a self) -> &'a $to {
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
|
||||
impl DerefMut<$to> for $from {
|
||||
impl ::std::ops::DerefMut for $from {
|
||||
fn deref_mut<'a>(&'a mut self) -> &'a mut $to {
|
||||
&mut self.0
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
use header::{Header, HeaderFormat};
|
||||
use std::fmt::{mod, Show};
|
||||
use std::fmt::{self, Show};
|
||||
use header::shared::util::from_one_raw_str;
|
||||
|
||||
/// The `Server` header field.
|
||||
///
|
||||
/// They can contain any value, so it just wraps a `String`.
|
||||
#[deriving(Clone, PartialEq, Show)]
|
||||
#[derive(Clone, PartialEq, Show)]
|
||||
pub struct Server(pub String);
|
||||
|
||||
deref!(Server -> String);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use header::{Header, HeaderFormat};
|
||||
use std::fmt::{mod, Show};
|
||||
use std::fmt::{self, Show};
|
||||
use std::str::from_utf8;
|
||||
|
||||
use cookie::Cookie;
|
||||
@@ -10,7 +10,7 @@ use cookie::CookieJar;
|
||||
/// Informally, the Set-Cookie response header contains the header name
|
||||
/// "Set-Cookie" followed by a ":" and a cookie. Each cookie begins with
|
||||
/// a name-value-pair, followed by zero or more attribute-value pairs.
|
||||
#[deriving(Clone, PartialEq, Show)]
|
||||
#[derive(Clone, PartialEq, Show)]
|
||||
pub struct SetCookie(pub Vec<Cookie>);
|
||||
|
||||
//TODO: remove when fixed in libstd
|
||||
@@ -52,7 +52,7 @@ impl HeaderFormat for SetCookie {
|
||||
fn fmt_header(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||
for (i, cookie) in self.0.iter().enumerate() {
|
||||
if i != 0 {
|
||||
try!(f.write(b"\r\nSet-Cookie: "));
|
||||
try!(f.write_str("\r\nSet-Cookie: "));
|
||||
}
|
||||
try!(cookie.fmt(f));
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ use self::Encoding::{Chunked, Gzip, Deflate, Compress, EncodingExt};
|
||||
/// this header should include `chunked` as the last encoding.
|
||||
///
|
||||
/// The implementation uses a vector of `Encoding` values.
|
||||
#[deriving(Clone, PartialEq, Show)]
|
||||
#[derive(Clone, PartialEq, Show)]
|
||||
pub struct TransferEncoding(pub Vec<Encoding>);
|
||||
|
||||
deref!(TransferEncoding -> Vec<Encoding>);
|
||||
@@ -33,7 +33,7 @@ deref!(TransferEncoding -> Vec<Encoding>);
|
||||
/// # use hyper::header::Headers;
|
||||
/// # let mut headers = Headers::new();
|
||||
/// headers.set(TransferEncoding(vec![Gzip, Chunked]));
|
||||
#[deriving(Clone, PartialEq)]
|
||||
#[derive(Clone, PartialEq)]
|
||||
pub enum Encoding {
|
||||
/// The `chunked` encoding.
|
||||
Chunked,
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
use header::{Header, HeaderFormat};
|
||||
use std::fmt::{mod, Show};
|
||||
use std::fmt::{self, Show};
|
||||
use std::str::FromStr;
|
||||
use header::shared::util::{from_comma_delimited, fmt_comma_delimited};
|
||||
|
||||
use self::Protocol::{WebSocket, ProtocolExt};
|
||||
|
||||
/// The `Upgrade` header.
|
||||
#[deriving(Clone, PartialEq, Show)]
|
||||
#[derive(Clone, PartialEq, Show)]
|
||||
pub struct Upgrade(pub Vec<Protocol>);
|
||||
|
||||
deref!(Upgrade -> Vec<Protocol>);
|
||||
|
||||
/// Protocol values that can appear in the Upgrade header.
|
||||
#[deriving(Clone, PartialEq)]
|
||||
#[derive(Clone, PartialEq)]
|
||||
pub enum Protocol {
|
||||
/// The websocket protocol.
|
||||
WebSocket,
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
use header::{Header, HeaderFormat};
|
||||
use std::fmt::{mod, Show};
|
||||
use std::fmt::{self, Show};
|
||||
use header::shared::util::from_one_raw_str;
|
||||
|
||||
/// The `User-Agent` header field.
|
||||
///
|
||||
/// They can contain any value, so it just wraps a `String`.
|
||||
#[deriving(Clone, PartialEq, Show)]
|
||||
#[derive(Clone, PartialEq, Show)]
|
||||
pub struct UserAgent(pub String);
|
||||
|
||||
deref!(UserAgent -> String);
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
use header::{Header, HeaderFormat, CaseInsensitive};
|
||||
use std::fmt::{mod};
|
||||
use std::fmt::{self};
|
||||
use header::shared::util::{from_comma_delimited, fmt_comma_delimited, from_one_raw_str};
|
||||
|
||||
/// The `Allow` header.
|
||||
/// See also https://tools.ietf.org/html/rfc7231#section-7.1.4
|
||||
|
||||
#[deriving(Clone, PartialEq, Show)]
|
||||
#[derive(Clone, PartialEq, Show)]
|
||||
pub enum Vary {
|
||||
/// This corresponds to '*'.
|
||||
Any,
|
||||
|
||||
Reference in New Issue
Block a user