pub use self::accept::Accept;
pub use self::authorization::Authorization;
pub use self::cookie::Cookies;
pub use self::connection::Connection;
pub use self::content_length::ContentLength;
pub use self::content_type::ContentType;
pub use self::date::Date;
pub use self::host::Host;
pub use self::location::Location;
pub use self::transfer_encoding::TransferEncoding;
pub use self::upgrade::Upgrade;
pub use self::user_agent::UserAgent;
pub use self::server::Server;
pub use self::set_cookie::SetCookie;
macro_rules! bench_header(
($name:ident, $ty:ty, $value:expr) => {
#[cfg(test)]
mod $name {
use test::Bencher;
use std::fmt::{mod, Show};
use super::*;
use header::{Header, HeaderFormat};
struct HeaderFormatter($ty);
impl Show for HeaderFormatter {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
self.0.fmt_header(f)
}
}
#[bench]
fn bench_parse(b: &mut Bencher) {
let val = $value;
b.iter(|| {
let _: $ty= Header::parse_header(val[]).unwrap();
});
}
#[bench]
fn bench_format(b: &mut Bencher) {
let val = HeaderFormatter(Header::parse_header($value[]).unwrap());
b.iter(|| {
format!("{}", val);
});
}
}
}
)
pub mod accept;
pub mod authorization;
pub mod cookie;
pub mod connection;
pub mod content_length;
pub mod content_type;
pub mod date;
pub mod host;
pub mod location;
pub mod server;
pub mod set_cookie;
pub mod transfer_encoding;
pub mod upgrade;
pub mod user_agent;
pub mod util;