fix(rustup): update to newest fmt trait names and slice syntax
This commit is contained in:
@@ -3,7 +3,7 @@ extern crate hyper;
|
|||||||
|
|
||||||
extern crate test;
|
extern crate test;
|
||||||
|
|
||||||
use std::fmt::{self, Show};
|
use std::fmt;
|
||||||
use std::io::net::ip::Ipv4Addr;
|
use std::io::net::ip::Ipv4Addr;
|
||||||
use hyper::server::{Request, Response, Server};
|
use hyper::server::{Request, Response, Server};
|
||||||
use hyper::header::Headers;
|
use hyper::header::Headers;
|
||||||
@@ -44,7 +44,7 @@ impl hyper::header::Header for Foo {
|
|||||||
|
|
||||||
impl hyper::header::HeaderFormat for Foo {
|
impl hyper::header::HeaderFormat for Foo {
|
||||||
fn fmt_header(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt_header(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
||||||
"Bar".fmt(fmt)
|
fmt.write_str("Bar")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ extern crate hyper;
|
|||||||
|
|
||||||
extern crate test;
|
extern crate test;
|
||||||
|
|
||||||
use std::fmt::{self, Show};
|
use std::fmt;
|
||||||
use std::io::{IoResult, MemReader};
|
use std::io::{IoResult, MemReader};
|
||||||
use std::io::net::ip::SocketAddr;
|
use std::io::net::ip::SocketAddr;
|
||||||
|
|
||||||
@@ -60,7 +60,7 @@ impl hyper::header::Header for Foo {
|
|||||||
|
|
||||||
impl hyper::header::HeaderFormat for Foo {
|
impl hyper::header::HeaderFormat for Foo {
|
||||||
fn fmt_header(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt_header(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
||||||
"Bar".fmt(fmt)
|
fmt.write_str("Bar")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ use mime;
|
|||||||
/// qitem(Mime(Text, Html, vec![])),
|
/// qitem(Mime(Text, Html, vec![])),
|
||||||
/// qitem(Mime(Text, Xml, vec![])) ]));
|
/// qitem(Mime(Text, Xml, vec![])) ]));
|
||||||
/// ```
|
/// ```
|
||||||
#[derive(Clone, PartialEq, Show)]
|
#[derive(Clone, PartialEq, Debug)]
|
||||||
pub struct Accept(pub Vec<header::QualityItem<mime::Mime>>);
|
pub struct Accept(pub Vec<header::QualityItem<mime::Mime>>);
|
||||||
|
|
||||||
deref!(Accept => Vec<header::QualityItem<mime::Mime>>);
|
deref!(Accept => Vec<header::QualityItem<mime::Mime>>);
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use header::{self, Encoding, QualityItem};
|
|||||||
///
|
///
|
||||||
/// The `Accept-Encoding` header can be used by clients to indicate what
|
/// The `Accept-Encoding` header can be used by clients to indicate what
|
||||||
/// response encodings they accept.
|
/// response encodings they accept.
|
||||||
#[derive(Clone, PartialEq, Show)]
|
#[derive(Clone, PartialEq, Debug)]
|
||||||
pub struct AcceptEncoding(pub Vec<QualityItem<Encoding>>);
|
pub struct AcceptEncoding(pub Vec<QualityItem<Encoding>>);
|
||||||
|
|
||||||
impl_list_header!(AcceptEncoding,
|
impl_list_header!(AcceptEncoding,
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ use header::parsing::{from_comma_delimited, fmt_comma_delimited};
|
|||||||
/// The `Allow` header.
|
/// The `Allow` header.
|
||||||
/// See also https://tools.ietf.org/html/rfc7231#section-7.4.1
|
/// See also https://tools.ietf.org/html/rfc7231#section-7.4.1
|
||||||
|
|
||||||
#[derive(Clone, PartialEq, Show)]
|
#[derive(Clone, PartialEq, Debug)]
|
||||||
pub struct Allow(pub Vec<Method>);
|
pub struct Allow(pub Vec<Method>);
|
||||||
|
|
||||||
deref!(Allow => Vec<Method>);
|
deref!(Allow => Vec<Method>);
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ use serialize::base64::{ToBase64, FromBase64, Standard, Config, Newline};
|
|||||||
use header::{Header, HeaderFormat};
|
use header::{Header, HeaderFormat};
|
||||||
|
|
||||||
/// The `Authorization` header field.
|
/// The `Authorization` header field.
|
||||||
#[derive(Clone, PartialEq, Show)]
|
#[derive(Clone, PartialEq, Debug)]
|
||||||
pub struct Authorization<S: Scheme>(pub S);
|
pub struct Authorization<S: Scheme>(pub S);
|
||||||
|
|
||||||
impl<S: Scheme> Deref for Authorization<S> {
|
impl<S: Scheme> Deref for Authorization<S> {
|
||||||
@@ -75,7 +75,7 @@ impl Scheme for String {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Credential holder for Basic Authentication
|
/// Credential holder for Basic Authentication
|
||||||
#[derive(Clone, PartialEq, Show)]
|
#[derive(Clone, PartialEq, Debug)]
|
||||||
pub struct Basic {
|
pub struct Basic {
|
||||||
/// The username as a possibly empty string
|
/// The username as a possibly empty string
|
||||||
pub username: String,
|
pub username: String,
|
||||||
@@ -90,7 +90,7 @@ impl Scheme for Basic {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn fmt_scheme(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt_scheme(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
//FIXME: serialize::base64 could use some Show implementation, so
|
//FIXME: serialize::base64 could use some Debug implementation, so
|
||||||
//that we don't have to allocate a new string here just to write it
|
//that we don't have to allocate a new string here just to write it
|
||||||
//to the formatter.
|
//to the formatter.
|
||||||
let mut text = self.username.clone();
|
let mut text = self.username.clone();
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use header::{Header, HeaderFormat};
|
|||||||
use header::parsing::{from_one_comma_delimited, fmt_comma_delimited};
|
use header::parsing::{from_one_comma_delimited, fmt_comma_delimited};
|
||||||
|
|
||||||
/// The Cache-Control header.
|
/// The Cache-Control header.
|
||||||
#[derive(PartialEq, Clone, Show)]
|
#[derive(PartialEq, Clone, Debug)]
|
||||||
pub struct CacheControl(pub Vec<CacheDirective>);
|
pub struct CacheControl(pub Vec<CacheDirective>);
|
||||||
|
|
||||||
deref!(CacheControl => Vec<CacheDirective>);
|
deref!(CacheControl => Vec<CacheDirective>);
|
||||||
@@ -34,7 +34,7 @@ impl HeaderFormat for CacheControl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// CacheControl contains a list of these directives.
|
/// CacheControl contains a list of these directives.
|
||||||
#[derive(PartialEq, Clone, Show)]
|
#[derive(PartialEq, Clone, Debug)]
|
||||||
pub enum CacheDirective {
|
pub enum CacheDirective {
|
||||||
/// "no-cache"
|
/// "no-cache"
|
||||||
NoCache,
|
NoCache,
|
||||||
@@ -69,10 +69,10 @@ pub enum CacheDirective {
|
|||||||
Extension(String, Option<String>)
|
Extension(String, Option<String>)
|
||||||
}
|
}
|
||||||
|
|
||||||
impl fmt::String for CacheDirective {
|
impl fmt::Display for CacheDirective {
|
||||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
use self::CacheDirective::*;
|
use self::CacheDirective::*;
|
||||||
fmt::String::fmt(match *self {
|
fmt::Display::fmt(match *self {
|
||||||
NoCache => "no-cache",
|
NoCache => "no-cache",
|
||||||
NoStore => "no-store",
|
NoStore => "no-store",
|
||||||
NoTransform => "no-transform",
|
NoTransform => "no-transform",
|
||||||
|
|||||||
@@ -6,13 +6,13 @@ use header::parsing::{from_comma_delimited, fmt_comma_delimited};
|
|||||||
pub use self::ConnectionOption::{KeepAlive, Close, ConnectionHeader};
|
pub use self::ConnectionOption::{KeepAlive, Close, ConnectionHeader};
|
||||||
|
|
||||||
/// The `Connection` header.
|
/// The `Connection` header.
|
||||||
#[derive(Clone, PartialEq, Show)]
|
#[derive(Clone, PartialEq, Debug)]
|
||||||
pub struct Connection(pub Vec<ConnectionOption>);
|
pub struct Connection(pub Vec<ConnectionOption>);
|
||||||
|
|
||||||
deref!(Connection => Vec<ConnectionOption>);
|
deref!(Connection => Vec<ConnectionOption>);
|
||||||
|
|
||||||
/// Values that can be in the `Connection` header.
|
/// Values that can be in the `Connection` header.
|
||||||
#[derive(Clone, PartialEq, Show)]
|
#[derive(Clone, PartialEq, Debug)]
|
||||||
pub enum ConnectionOption {
|
pub enum ConnectionOption {
|
||||||
/// The `keep-alive` connection value.
|
/// The `keep-alive` connection value.
|
||||||
KeepAlive,
|
KeepAlive,
|
||||||
@@ -39,7 +39,7 @@ impl FromStr for ConnectionOption {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl fmt::String for ConnectionOption {
|
impl fmt::Display for ConnectionOption {
|
||||||
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
||||||
write!(fmt, "{}", match *self {
|
write!(fmt, "{}", match *self {
|
||||||
KeepAlive => "keep-alive",
|
KeepAlive => "keep-alive",
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ use header::parsing::from_one_raw_str;
|
|||||||
/// The `Content-Length` header.
|
/// The `Content-Length` header.
|
||||||
///
|
///
|
||||||
/// Simply a wrapper around a `usize`.
|
/// Simply a wrapper around a `usize`.
|
||||||
#[derive(Copy, Clone, PartialEq, Show)]
|
#[derive(Copy, Clone, PartialEq, Debug)]
|
||||||
pub struct ContentLength(pub u64);
|
pub struct ContentLength(pub u64);
|
||||||
|
|
||||||
deref!(ContentLength => u64);
|
deref!(ContentLength => u64);
|
||||||
@@ -23,7 +23,7 @@ impl Header for ContentLength {
|
|||||||
|
|
||||||
impl HeaderFormat for ContentLength {
|
impl HeaderFormat for ContentLength {
|
||||||
fn fmt_header(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt_header(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
||||||
fmt::String::fmt(&self.0, fmt)
|
fmt::Display::fmt(&self.0, fmt)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ use mime::Mime;
|
|||||||
///
|
///
|
||||||
/// Used to describe the MIME type of message body. Can be used with both
|
/// Used to describe the MIME type of message body. Can be used with both
|
||||||
/// requests and responses.
|
/// requests and responses.
|
||||||
#[derive(Clone, PartialEq, Show)]
|
#[derive(Clone, PartialEq, Debug)]
|
||||||
pub struct ContentType(pub Mime);
|
pub struct ContentType(pub Mime);
|
||||||
|
|
||||||
deref!(ContentType => Mime);
|
deref!(ContentType => Mime);
|
||||||
@@ -24,7 +24,7 @@ impl Header for ContentType {
|
|||||||
|
|
||||||
impl HeaderFormat for ContentType {
|
impl HeaderFormat for ContentType {
|
||||||
fn fmt_header(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt_header(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
||||||
fmt::String::fmt(&self.0, fmt)
|
fmt::Display::fmt(&self.0, fmt)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ use cookie::CookieJar;
|
|||||||
///
|
///
|
||||||
/// > When the user agent generates an HTTP request, the user agent MUST NOT
|
/// > When the user agent generates an HTTP request, the user agent MUST NOT
|
||||||
/// > attach more than one Cookie header field.
|
/// > attach more than one Cookie header field.
|
||||||
#[derive(Clone, PartialEq, Show)]
|
#[derive(Clone, PartialEq, Debug)]
|
||||||
pub struct Cookies(pub Vec<Cookie>);
|
pub struct Cookies(pub Vec<Cookie>);
|
||||||
|
|
||||||
deref!(Cookies => Vec<Cookie>);
|
deref!(Cookies => Vec<Cookie>);
|
||||||
@@ -53,7 +53,7 @@ impl HeaderFormat for Cookies {
|
|||||||
let last = cookies.len() - 1;
|
let last = cookies.len() - 1;
|
||||||
for (i, cookie) in cookies.iter().enumerate() {
|
for (i, cookie) in cookies.iter().enumerate() {
|
||||||
try!(write!(fmt, "{}", cookie.pair()));
|
try!(write!(fmt, "{}", cookie.pair()));
|
||||||
if i < last {
|
if i < last {
|
||||||
try!(fmt.write_str("; "));
|
try!(fmt.write_str("; "));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ use header::parsing::tm_from_str;
|
|||||||
|
|
||||||
// Egh, replace as soon as something better than time::Tm exists.
|
// Egh, replace as soon as something better than time::Tm exists.
|
||||||
/// The `Date` header field.
|
/// The `Date` header field.
|
||||||
#[derive(Copy, PartialEq, Clone, Show)]
|
#[derive(Copy, PartialEq, Clone, Debug)]
|
||||||
pub struct Date(pub Tm);
|
pub struct Date(pub Tm);
|
||||||
|
|
||||||
deref!(Date => Tm);
|
deref!(Date => Tm);
|
||||||
@@ -30,7 +30,7 @@ impl HeaderFormat for Date {
|
|||||||
0 => tm,
|
0 => tm,
|
||||||
_ => tm.to_utc(),
|
_ => tm.to_utc(),
|
||||||
};
|
};
|
||||||
fmt::String::fmt(&tm.rfc822(), fmt)
|
fmt::Display::fmt(&tm.rfc822(), fmt)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ use header::parsing::from_one_raw_str;
|
|||||||
/// Preceding the first double quote is an optional weakness indicator,
|
/// Preceding the first double quote is an optional weakness indicator,
|
||||||
/// which always looks like this: W/
|
/// which always looks like this: W/
|
||||||
/// See also: https://tools.ietf.org/html/rfc7232#section-2.3
|
/// See also: https://tools.ietf.org/html/rfc7232#section-2.3
|
||||||
#[derive(Clone, PartialEq, Show)]
|
#[derive(Clone, PartialEq, Debug)]
|
||||||
pub struct Etag {
|
pub struct Etag {
|
||||||
/// Weakness indicator for the tag
|
/// Weakness indicator for the tag
|
||||||
pub weak: bool,
|
pub weak: bool,
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ use header::parsing::from_one_raw_str;
|
|||||||
use header::parsing::tm_from_str;
|
use header::parsing::tm_from_str;
|
||||||
|
|
||||||
/// The `Expires` header field.
|
/// The `Expires` header field.
|
||||||
#[derive(Copy, PartialEq, Clone, Show)]
|
#[derive(Copy, PartialEq, Clone, Debug)]
|
||||||
pub struct Expires(pub Tm);
|
pub struct Expires(pub Tm);
|
||||||
|
|
||||||
deref!(Expires => Tm);
|
deref!(Expires => Tm);
|
||||||
@@ -29,7 +29,7 @@ impl HeaderFormat for Expires {
|
|||||||
0 => tm,
|
0 => tm,
|
||||||
_ => tm.to_utc(),
|
_ => tm.to_utc(),
|
||||||
};
|
};
|
||||||
fmt::String::fmt(&tm.rfc822(), fmt)
|
fmt::Display::fmt(&tm.rfc822(), fmt)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ use header::parsing::from_one_raw_str;
|
|||||||
///
|
///
|
||||||
/// Currently is just a String, but it should probably become a better type,
|
/// Currently is just a String, but it should probably become a better type,
|
||||||
/// like url::Host or something.
|
/// like url::Host or something.
|
||||||
#[derive(Clone, PartialEq, Show)]
|
#[derive(Clone, PartialEq, Debug)]
|
||||||
pub struct Host {
|
pub struct Host {
|
||||||
/// The hostname, such a example.domain.
|
/// The hostname, such a example.domain.
|
||||||
pub hostname: String,
|
pub hostname: String,
|
||||||
@@ -46,7 +46,7 @@ impl Header for Host {
|
|||||||
};
|
};
|
||||||
|
|
||||||
let port = match idx {
|
let port = match idx {
|
||||||
Some(idx) => s[].slice_from(idx + 1).parse(),
|
Some(idx) => s[idx + 1..].parse(),
|
||||||
None => None
|
None => None
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ use header::parsing::from_one_raw_str;
|
|||||||
use header::parsing::tm_from_str;
|
use header::parsing::tm_from_str;
|
||||||
|
|
||||||
/// The `If-Modified-Since` header field.
|
/// The `If-Modified-Since` header field.
|
||||||
#[derive(Copy, PartialEq, Clone, Show)]
|
#[derive(Copy, PartialEq, Clone, Debug)]
|
||||||
pub struct IfModifiedSince(pub Tm);
|
pub struct IfModifiedSince(pub Tm);
|
||||||
|
|
||||||
deref!(IfModifiedSince => Tm);
|
deref!(IfModifiedSince => Tm);
|
||||||
@@ -29,7 +29,7 @@ impl HeaderFormat for IfModifiedSince {
|
|||||||
0 => tm,
|
0 => tm,
|
||||||
_ => tm.to_utc(),
|
_ => tm.to_utc(),
|
||||||
};
|
};
|
||||||
fmt::String::fmt(&tm.rfc822(), fmt)
|
fmt::Display::fmt(&tm.rfc822(), fmt)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ use header::parsing::from_one_raw_str;
|
|||||||
use header::parsing::tm_from_str;
|
use header::parsing::tm_from_str;
|
||||||
|
|
||||||
/// The `LastModified` header field.
|
/// The `LastModified` header field.
|
||||||
#[derive(Copy, PartialEq, Clone, Show)]
|
#[derive(Copy, PartialEq, Clone, Debug)]
|
||||||
pub struct LastModified(pub Tm);
|
pub struct LastModified(pub Tm);
|
||||||
|
|
||||||
deref!(LastModified => Tm);
|
deref!(LastModified => Tm);
|
||||||
@@ -29,7 +29,7 @@ impl HeaderFormat for LastModified {
|
|||||||
0 => tm,
|
0 => tm,
|
||||||
_ => tm.to_utc(),
|
_ => tm.to_utc(),
|
||||||
};
|
};
|
||||||
fmt::String::fmt(&tm.rfc822(), fmt)
|
fmt::Display::fmt(&tm.rfc822(), fmt)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ use header::parsing::from_one_raw_str;
|
|||||||
///
|
///
|
||||||
/// Currently is just a String, but it should probably become a better type,
|
/// Currently is just a String, but it should probably become a better type,
|
||||||
/// like url::Url or something.
|
/// like url::Url or something.
|
||||||
#[derive(Clone, PartialEq, Show)]
|
#[derive(Clone, PartialEq, Debug)]
|
||||||
pub struct Location(pub String);
|
pub struct Location(pub String);
|
||||||
|
|
||||||
deref!(Location => String);
|
deref!(Location => String);
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ macro_rules! impl_list_header(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ::std::fmt::String for $from {
|
impl ::std::fmt::Display for $from {
|
||||||
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
|
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
|
||||||
use header::HeaderFormat;
|
use header::HeaderFormat;
|
||||||
self.fmt_header(f)
|
self.fmt_header(f)
|
||||||
@@ -127,11 +127,11 @@ macro_rules! impl_header(
|
|||||||
|
|
||||||
impl header::HeaderFormat for $from {
|
impl header::HeaderFormat for $from {
|
||||||
fn fmt_header(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
|
fn fmt_header(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
|
||||||
::std::fmt::String::fmt(&**self, f)
|
::std::fmt::Display::fmt(&**self, f)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ::std::fmt::String for $from {
|
impl ::std::fmt::Display for $from {
|
||||||
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
|
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
|
||||||
use header::HeaderFormat;
|
use header::HeaderFormat;
|
||||||
self.fmt_header(f)
|
self.fmt_header(f)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
use header::{Header, HeaderFormat};
|
use header::{Header, HeaderFormat};
|
||||||
use std::fmt::{self, Show};
|
use std::fmt;
|
||||||
use header::parsing::from_one_raw_str;
|
use header::parsing::from_one_raw_str;
|
||||||
|
|
||||||
/// The `Referer` header.
|
/// The `Referer` header.
|
||||||
@@ -10,7 +10,7 @@ use header::parsing::from_one_raw_str;
|
|||||||
/// See alse [RFC 1945, section 10.13](http://tools.ietf.org/html/rfc1945#section-10.13).
|
/// See alse [RFC 1945, section 10.13](http://tools.ietf.org/html/rfc1945#section-10.13).
|
||||||
///
|
///
|
||||||
/// Currently just a string, but maybe better replace it with url::Url or something like it.
|
/// Currently just a string, but maybe better replace it with url::Url or something like it.
|
||||||
#[derive(Clone, PartialEq, Show)]
|
#[derive(Clone, PartialEq, Debug)]
|
||||||
pub struct Referer(pub String);
|
pub struct Referer(pub String);
|
||||||
|
|
||||||
deref!(Referer => String);
|
deref!(Referer => String);
|
||||||
@@ -27,8 +27,7 @@ impl Header for Referer {
|
|||||||
|
|
||||||
impl HeaderFormat for Referer {
|
impl HeaderFormat for Referer {
|
||||||
fn fmt_header(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt_header(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
||||||
let Referer(ref value) = *self;
|
fmt::Display::fmt(&self.0, fmt)
|
||||||
value.fmt(fmt)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ use header;
|
|||||||
/// The `Server` header field.
|
/// The `Server` header field.
|
||||||
///
|
///
|
||||||
/// They can contain any value, so it just wraps a `String`.
|
/// They can contain any value, so it just wraps a `String`.
|
||||||
#[derive(Clone, PartialEq, Show)]
|
#[derive(Clone, PartialEq, Debug)]
|
||||||
pub struct Server(pub String);
|
pub struct Server(pub String);
|
||||||
|
|
||||||
impl_header!(Server,
|
impl_header!(Server,
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ use cookie::CookieJar;
|
|||||||
/// Informally, the Set-Cookie response header contains the header name
|
/// Informally, the Set-Cookie response header contains the header name
|
||||||
/// "Set-Cookie" followed by a ":" and a cookie. Each cookie begins with
|
/// "Set-Cookie" followed by a ":" and a cookie. Each cookie begins with
|
||||||
/// a name-value-pair, followed by zero or more attribute-value pairs.
|
/// a name-value-pair, followed by zero or more attribute-value pairs.
|
||||||
#[derive(Clone, PartialEq, Show)]
|
#[derive(Clone, PartialEq, Debug)]
|
||||||
pub struct SetCookie(pub Vec<Cookie>);
|
pub struct SetCookie(pub Vec<Cookie>);
|
||||||
|
|
||||||
deref!(SetCookie => Vec<Cookie>);
|
deref!(SetCookie => Vec<Cookie>);
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ use header::parsing::{from_comma_delimited, fmt_comma_delimited};
|
|||||||
/// this header should include `chunked` as the last encoding.
|
/// this header should include `chunked` as the last encoding.
|
||||||
///
|
///
|
||||||
/// The implementation uses a vector of `Encoding` values.
|
/// The implementation uses a vector of `Encoding` values.
|
||||||
#[derive(Clone, PartialEq, Show)]
|
#[derive(Clone, PartialEq, Debug)]
|
||||||
pub struct TransferEncoding(pub Vec<Encoding>);
|
pub struct TransferEncoding(pub Vec<Encoding>);
|
||||||
|
|
||||||
deref!(TransferEncoding => Vec<Encoding>);
|
deref!(TransferEncoding => Vec<Encoding>);
|
||||||
|
|||||||
@@ -6,13 +6,13 @@ use header::parsing::{from_comma_delimited, fmt_comma_delimited};
|
|||||||
use self::Protocol::{WebSocket, ProtocolExt};
|
use self::Protocol::{WebSocket, ProtocolExt};
|
||||||
|
|
||||||
/// The `Upgrade` header.
|
/// The `Upgrade` header.
|
||||||
#[derive(Clone, PartialEq, Show)]
|
#[derive(Clone, PartialEq, Debug)]
|
||||||
pub struct Upgrade(pub Vec<Protocol>);
|
pub struct Upgrade(pub Vec<Protocol>);
|
||||||
|
|
||||||
deref!(Upgrade => Vec<Protocol>);
|
deref!(Upgrade => Vec<Protocol>);
|
||||||
|
|
||||||
/// Protocol values that can appear in the Upgrade header.
|
/// Protocol values that can appear in the Upgrade header.
|
||||||
#[derive(Clone, PartialEq, Show)]
|
#[derive(Clone, PartialEq, Debug)]
|
||||||
pub enum Protocol {
|
pub enum Protocol {
|
||||||
/// The websocket protocol.
|
/// The websocket protocol.
|
||||||
WebSocket,
|
WebSocket,
|
||||||
@@ -29,7 +29,7 @@ impl FromStr for Protocol {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl fmt::String for Protocol {
|
impl fmt::Display for Protocol {
|
||||||
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
||||||
write!(fmt, "{}", match *self {
|
write!(fmt, "{}", match *self {
|
||||||
WebSocket => "websocket",
|
WebSocket => "websocket",
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ use header::parsing::from_one_raw_str;
|
|||||||
/// The `User-Agent` header field.
|
/// The `User-Agent` header field.
|
||||||
///
|
///
|
||||||
/// They can contain any value, so it just wraps a `String`.
|
/// They can contain any value, so it just wraps a `String`.
|
||||||
#[derive(Clone, PartialEq, Show)]
|
#[derive(Clone, PartialEq, Debug)]
|
||||||
pub struct UserAgent(pub String);
|
pub struct UserAgent(pub String);
|
||||||
|
|
||||||
deref!(UserAgent => String);
|
deref!(UserAgent => String);
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ use unicase::UniCase;
|
|||||||
/// The `Allow` header.
|
/// The `Allow` header.
|
||||||
/// See also https://tools.ietf.org/html/rfc7231#section-7.1.4
|
/// See also https://tools.ietf.org/html/rfc7231#section-7.1.4
|
||||||
|
|
||||||
#[derive(Clone, PartialEq, Show)]
|
#[derive(Clone, PartialEq, Debug)]
|
||||||
pub enum Vary {
|
pub enum Vary {
|
||||||
/// This corresponds to '*'.
|
/// This corresponds to '*'.
|
||||||
Any,
|
Any,
|
||||||
|
|||||||
@@ -267,7 +267,7 @@ impl Headers {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl fmt::String for Headers {
|
impl fmt::Display for Headers {
|
||||||
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
||||||
for header in self.iter() {
|
for header in self.iter() {
|
||||||
try!(write!(fmt, "{}\r\n", header));
|
try!(write!(fmt, "{}\r\n", header));
|
||||||
@@ -276,7 +276,7 @@ impl fmt::String for Headers {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl fmt::Show for Headers {
|
impl fmt::Debug for Headers {
|
||||||
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
||||||
try!(fmt.write_str("Headers {{ "));
|
try!(fmt.write_str("Headers {{ "));
|
||||||
for header in self.iter() {
|
for header in self.iter() {
|
||||||
@@ -336,15 +336,15 @@ impl<'a> HeaderView<'a> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a> fmt::String for HeaderView<'a> {
|
impl<'a> fmt::Display for HeaderView<'a> {
|
||||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
write!(f, "{}: {}", self.0, *self.1.borrow())
|
write!(f, "{}: {}", self.0, *self.1.borrow())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a> fmt::Show for HeaderView<'a> {
|
impl<'a> fmt::Debug for HeaderView<'a> {
|
||||||
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
||||||
self.to_string().fmt(fmt)
|
fmt::Display::fmt(self, fmt)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -448,7 +448,7 @@ unsafe fn downcast_mut<H: Header + HeaderFormat>(item: &mut Item) -> &mut H {
|
|||||||
item.typed.as_mut().expect("item.typed must be set").downcast_mut_unchecked()
|
item.typed.as_mut().expect("item.typed must be set").downcast_mut_unchecked()
|
||||||
}
|
}
|
||||||
|
|
||||||
impl fmt::String for Item {
|
impl fmt::Display for Item {
|
||||||
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
||||||
match self.typed {
|
match self.typed {
|
||||||
Some(ref h) => h.fmt_header(fmt),
|
Some(ref h) => h.fmt_header(fmt),
|
||||||
@@ -472,13 +472,13 @@ impl fmt::String for Item {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
impl fmt::Show for Box<HeaderFormat + Send + Sync> {
|
impl fmt::Debug for Box<HeaderFormat + Send + Sync> {
|
||||||
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
||||||
(**self).fmt_header(fmt)
|
(**self).fmt_header(fmt)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl fmt::String for Box<HeaderFormat + Send + Sync> {
|
impl fmt::Display for Box<HeaderFormat + Send + Sync> {
|
||||||
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
||||||
(**self).fmt_header(fmt)
|
(**self).fmt_header(fmt)
|
||||||
}
|
}
|
||||||
@@ -491,13 +491,13 @@ impl fmt::String for Box<HeaderFormat + Send + Sync> {
|
|||||||
/// outgoing TcpStream.
|
/// outgoing TcpStream.
|
||||||
pub struct HeaderFormatter<'a, H: HeaderFormat>(pub &'a H);
|
pub struct HeaderFormatter<'a, H: HeaderFormat>(pub &'a H);
|
||||||
|
|
||||||
impl<'a, H: HeaderFormat> fmt::String for HeaderFormatter<'a, H> {
|
impl<'a, H: HeaderFormat> fmt::Display for HeaderFormatter<'a, H> {
|
||||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
self.0.fmt_header(f)
|
self.0.fmt_header(f)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a, H: HeaderFormat> fmt::Show for HeaderFormatter<'a, H> {
|
impl<'a, H: HeaderFormat> fmt::Debug for HeaderFormatter<'a, H> {
|
||||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
self.0.fmt_header(f)
|
self.0.fmt_header(f)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ pub fn from_one_comma_delimited<T: str::FromStr>(raw: &[u8]) -> Option<Vec<T>> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Format an array into a comma-delimited string.
|
/// Format an array into a comma-delimited string.
|
||||||
pub fn fmt_comma_delimited<T: fmt::String>(fmt: &mut fmt::Formatter, parts: &[T]) -> fmt::Result {
|
pub fn fmt_comma_delimited<T: fmt::Display>(fmt: &mut fmt::Formatter, parts: &[T]) -> fmt::Result {
|
||||||
let last = parts.len() - 1;
|
let last = parts.len() - 1;
|
||||||
for (i, part) in parts.iter().enumerate() {
|
for (i, part) in parts.iter().enumerate() {
|
||||||
try!(write!(fmt, "{}", part));
|
try!(write!(fmt, "{}", part));
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ pub use self::Encoding::{Chunked, Gzip, Deflate, Compress, Identity, EncodingExt
|
|||||||
|
|
||||||
/// A value to represent an encoding used in `Transfer-Encoding`
|
/// A value to represent an encoding used in `Transfer-Encoding`
|
||||||
/// or `Accept-Encoding` header.
|
/// or `Accept-Encoding` header.
|
||||||
#[derive(Clone, PartialEq)]
|
#[derive(Clone, PartialEq, Debug)]
|
||||||
pub enum Encoding {
|
pub enum Encoding {
|
||||||
/// The `chunked` encoding.
|
/// The `chunked` encoding.
|
||||||
Chunked,
|
Chunked,
|
||||||
@@ -23,9 +23,9 @@ pub enum Encoding {
|
|||||||
EncodingExt(String)
|
EncodingExt(String)
|
||||||
}
|
}
|
||||||
|
|
||||||
impl fmt::String for Encoding {
|
impl fmt::Display for Encoding {
|
||||||
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
||||||
write!(fmt, "{}", match *self {
|
fmt.write_str(match *self {
|
||||||
Chunked => "chunked",
|
Chunked => "chunked",
|
||||||
Gzip => "gzip",
|
Gzip => "gzip",
|
||||||
Deflate => "deflate",
|
Deflate => "deflate",
|
||||||
@@ -33,13 +33,7 @@ impl fmt::String for Encoding {
|
|||||||
Identity => "identity",
|
Identity => "identity",
|
||||||
EncodingExt(ref s) => s.as_slice()
|
EncodingExt(ref s) => s.as_slice()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
impl fmt::Show for Encoding {
|
|
||||||
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
|
||||||
self.to_string().fmt(fmt)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl str::FromStr for Encoding {
|
impl str::FromStr for Encoding {
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ use std::str;
|
|||||||
|
|
||||||
/// Represents an item with a quality value as defined in
|
/// Represents an item with a quality value as defined in
|
||||||
/// [RFC7231](https://tools.ietf.org/html/rfc7231#section-5.3.1).
|
/// [RFC7231](https://tools.ietf.org/html/rfc7231#section-5.3.1).
|
||||||
#[derive(Clone, PartialEq)]
|
#[derive(Clone, PartialEq, Debug)]
|
||||||
pub struct QualityItem<T> {
|
pub struct QualityItem<T> {
|
||||||
/// The actual contents of the field.
|
/// The actual contents of the field.
|
||||||
pub item: T,
|
pub item: T,
|
||||||
@@ -26,13 +26,7 @@ impl<T> QualityItem<T> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<T: fmt::String> fmt::String for QualityItem<T> {
|
impl<T: fmt::Display> fmt::Display for QualityItem<T> {
|
||||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
|
||||||
write!(f, "{}; q={}", self.item, format!("{:.3}", self.quality).trim_right_matches(['0', '.'].as_slice()))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<T: fmt::String> fmt::Show for QualityItem<T> {
|
|
||||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
write!(f, "{}; q={}", self.item, format!("{:.3}", self.quality).trim_right_matches(['0', '.'].as_slice()))
|
write!(f, "{}; q={}", self.item, format!("{:.3}", self.quality).trim_right_matches(['0', '.'].as_slice()))
|
||||||
}
|
}
|
||||||
@@ -46,9 +40,9 @@ impl<T: str::FromStr> str::FromStr for QualityItem<T> {
|
|||||||
|
|
||||||
let parts: Vec<&str> = s.rsplitn(1, ';').map(|x| x.trim()).collect();
|
let parts: Vec<&str> = s.rsplitn(1, ';').map(|x| x.trim()).collect();
|
||||||
if parts.len() == 2 {
|
if parts.len() == 2 {
|
||||||
let start = parts[0].slice(0, 2);
|
let start = &parts[0][0..2];
|
||||||
if start == "q=" || start == "Q=" {
|
if start == "q=" || start == "Q=" {
|
||||||
let q_part = parts[0].slice(2, parts[0].len());
|
let q_part = &parts[0][2..parts[0].len()];
|
||||||
if q_part.len() > 5 {
|
if q_part.len() > 5 {
|
||||||
return None;
|
return None;
|
||||||
}
|
}
|
||||||
|
|||||||
20
src/http.rs
20
src/http.rs
@@ -2,7 +2,6 @@
|
|||||||
use std::borrow::Cow::{Borrowed, Owned};
|
use std::borrow::Cow::{Borrowed, Owned};
|
||||||
use std::borrow::IntoCow;
|
use std::borrow::IntoCow;
|
||||||
use std::cmp::min;
|
use std::cmp::min;
|
||||||
use std::fmt;
|
|
||||||
use std::io::{self, Reader, IoResult, BufWriter};
|
use std::io::{self, Reader, IoResult, BufWriter};
|
||||||
use std::num::from_u16;
|
use std::num::from_u16;
|
||||||
use std::str::{self, FromStr};
|
use std::str::{self, FromStr};
|
||||||
@@ -103,7 +102,7 @@ impl<R: Reader> Reader for HttpReader<R> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let to_read = min(rem as usize, buf.len());
|
let to_read = min(rem as usize, buf.len());
|
||||||
let count = try!(body.read(buf.slice_to_mut(to_read))) as u64;
|
let count = try!(body.read(&mut buf[..to_read])) as u64;
|
||||||
|
|
||||||
rem -= count;
|
rem -= count;
|
||||||
*opt_remaining = if rem > 0 {
|
*opt_remaining = if rem > 0 {
|
||||||
@@ -306,23 +305,6 @@ pub const LF: u8 = b'\n';
|
|||||||
pub const STAR: u8 = b'*';
|
pub const STAR: u8 = b'*';
|
||||||
pub const LINE_ENDING: &'static str = "\r\n";
|
pub const LINE_ENDING: &'static str = "\r\n";
|
||||||
|
|
||||||
/// A `Show`able struct to easily write line endings to a formatter.
|
|
||||||
pub struct LineEnding;
|
|
||||||
|
|
||||||
impl Copy for LineEnding {}
|
|
||||||
|
|
||||||
impl fmt::String for LineEnding {
|
|
||||||
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
|
||||||
fmt.write_str(LINE_ENDING)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl fmt::Show for LineEnding {
|
|
||||||
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
|
||||||
self.to_string().fmt(fmt)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Determines if byte is a token char.
|
/// Determines if byte is a token char.
|
||||||
///
|
///
|
||||||
/// > ```notrust
|
/// > ```notrust
|
||||||
|
|||||||
@@ -145,6 +145,7 @@ pub use status::StatusCode::{Ok, BadRequest, NotFound};
|
|||||||
pub use server::Server;
|
pub use server::Server;
|
||||||
|
|
||||||
use std::error::{Error, FromError};
|
use std::error::{Error, FromError};
|
||||||
|
use std::fmt;
|
||||||
use std::io::IoError;
|
use std::io::IoError;
|
||||||
|
|
||||||
use self::HttpError::{HttpMethodError, HttpUriError, HttpVersionError,
|
use self::HttpError::{HttpMethodError, HttpUriError, HttpVersionError,
|
||||||
@@ -189,7 +190,7 @@ mod mimewrapper {
|
|||||||
pub type HttpResult<T> = Result<T, HttpError>;
|
pub type HttpResult<T> = Result<T, HttpError>;
|
||||||
|
|
||||||
/// A set of errors that can occur parsing HTTP streams.
|
/// A set of errors that can occur parsing HTTP streams.
|
||||||
#[derive(Show, PartialEq, Clone)]
|
#[derive(Debug, PartialEq, Clone)]
|
||||||
pub enum HttpError {
|
pub enum HttpError {
|
||||||
/// An invalid `Method`, such as `GE,T`.
|
/// An invalid `Method`, such as `GE,T`.
|
||||||
HttpMethodError,
|
HttpMethodError,
|
||||||
@@ -205,6 +206,12 @@ pub enum HttpError {
|
|||||||
HttpIoError(IoError),
|
HttpIoError(IoError),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl fmt::Display for HttpError {
|
||||||
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
|
f.write_str(self.description())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl Error for HttpError {
|
impl Error for HttpError {
|
||||||
fn description(&self) -> &str {
|
fn description(&self) -> &str {
|
||||||
match *self {
|
match *self {
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ use self::Method::{Options, Get, Post, Put, Delete, Head, Trace, Connect, Patch,
|
|||||||
///
|
///
|
||||||
/// It may make sense to grow this to include all variants currently
|
/// It may make sense to grow this to include all variants currently
|
||||||
/// registered with IANA, if they are at all common to use.
|
/// registered with IANA, if they are at all common to use.
|
||||||
#[derive(Clone, PartialEq, Eq, Hash, Show)]
|
#[derive(Clone, PartialEq, Eq, Hash, Debug)]
|
||||||
pub enum Method {
|
pub enum Method {
|
||||||
/// OPTIONS
|
/// OPTIONS
|
||||||
Options,
|
Options,
|
||||||
@@ -88,9 +88,9 @@ impl FromStr for Method {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl fmt::String for Method {
|
impl fmt::Display for Method {
|
||||||
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
||||||
match *self {
|
fmt.write_str(match *self {
|
||||||
Options => "OPTIONS",
|
Options => "OPTIONS",
|
||||||
Get => "GET",
|
Get => "GET",
|
||||||
Post => "POST",
|
Post => "POST",
|
||||||
@@ -101,7 +101,7 @@ impl fmt::String for Method {
|
|||||||
Connect => "CONNECT",
|
Connect => "CONNECT",
|
||||||
Patch => "PATCH",
|
Patch => "PATCH",
|
||||||
Extension(ref s) => s.as_slice()
|
Extension(ref s) => s.as_slice()
|
||||||
}.fmt(fmt)
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ impl PartialEq for MockStream {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl fmt::Show for MockStream {
|
impl fmt::Debug for MockStream {
|
||||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
write!(f, "MockStream {{ read: {:?}, write: {:?} }}",
|
write!(f, "MockStream {{ read: {:?}, write: {:?} }}",
|
||||||
self.read.get_ref(), self.write.get_ref())
|
self.read.get_ref(), self.write.get_ref())
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ pub trait NetworkConnector {
|
|||||||
fn connect(&mut self, host: &str, port: Port, scheme: &str) -> IoResult<Self::Stream>;
|
fn connect(&mut self, host: &str, port: Port, scheme: &str) -> IoResult<Self::Stream>;
|
||||||
}
|
}
|
||||||
|
|
||||||
impl fmt::Show for Box<NetworkStream + Send> {
|
impl fmt::Debug for Box<NetworkStream + Send> {
|
||||||
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
||||||
fmt.pad("Box<NetworkStream>")
|
fmt.pad("Box<NetworkStream>")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ use std::cmp::Ordering::{self, Less, Equal, Greater};
|
|||||||
/// # use hyper::status::StatusCode::{Code123, Continue};
|
/// # use hyper::status::StatusCode::{Code123, Continue};
|
||||||
/// assert_eq!(Code123.class().default_code(), Continue);
|
/// assert_eq!(Code123.class().default_code(), Continue);
|
||||||
/// ```
|
/// ```
|
||||||
#[derive(Show)]
|
#[derive(Debug)]
|
||||||
pub enum StatusCode {
|
pub enum StatusCode {
|
||||||
/// 100 Continue
|
/// 100 Continue
|
||||||
Continue = 100,
|
Continue = 100,
|
||||||
@@ -1589,7 +1589,7 @@ impl Copy for StatusCode {}
|
|||||||
/// ```
|
/// ```
|
||||||
///
|
///
|
||||||
/// If you wish to just include the number, cast to a u16 instead.
|
/// If you wish to just include the number, cast to a u16 instead.
|
||||||
impl fmt::String for StatusCode {
|
impl fmt::Display for StatusCode {
|
||||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
write!(f, "{} {}", *self as u16,
|
write!(f, "{} {}", *self as u16,
|
||||||
self.canonical_reason().unwrap_or("<unknown status code>"))
|
self.canonical_reason().unwrap_or("<unknown status code>"))
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ use url::Url;
|
|||||||
/// > / authority-form
|
/// > / authority-form
|
||||||
/// > / asterisk-form
|
/// > / asterisk-form
|
||||||
/// > ```
|
/// > ```
|
||||||
#[derive(Show, PartialEq, Clone)]
|
#[derive(Debug, PartialEq, Clone)]
|
||||||
pub enum RequestUri {
|
pub enum RequestUri {
|
||||||
/// The most common request target, an absolute path and optional query.
|
/// The most common request target, an absolute path and optional query.
|
||||||
///
|
///
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ use std::fmt;
|
|||||||
use self::HttpVersion::{Http09, Http10, Http11, Http20};
|
use self::HttpVersion::{Http09, Http10, Http11, Http20};
|
||||||
|
|
||||||
/// Represents a version of the HTTP spec.
|
/// Represents a version of the HTTP spec.
|
||||||
#[derive(PartialEq, PartialOrd, Copy, Show)]
|
#[derive(PartialEq, PartialOrd, Copy, Debug)]
|
||||||
pub enum HttpVersion {
|
pub enum HttpVersion {
|
||||||
/// `HTTP/0.9`
|
/// `HTTP/0.9`
|
||||||
Http09,
|
Http09,
|
||||||
@@ -19,14 +19,14 @@ pub enum HttpVersion {
|
|||||||
Http20
|
Http20
|
||||||
}
|
}
|
||||||
|
|
||||||
impl fmt::String for HttpVersion {
|
impl fmt::Display for HttpVersion {
|
||||||
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
||||||
match *self {
|
fmt.write_str(match *self {
|
||||||
Http09 => "HTTP/0.9",
|
Http09 => "HTTP/0.9",
|
||||||
Http10 => "HTTP/1.0",
|
Http10 => "HTTP/1.0",
|
||||||
Http11 => "HTTP/1.1",
|
Http11 => "HTTP/1.1",
|
||||||
Http20 => "HTTP/2.0",
|
Http20 => "HTTP/2.0",
|
||||||
}.fmt(fmt)
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user