From c2938fb45f9c1fff2a1235d82b7741531de21445 Mon Sep 17 00:00:00 2001 From: Sean McArthur Date: Mon, 11 May 2015 18:48:33 -0700 Subject: [PATCH] feat(header): add Connection::close() and ::keep_alive() constructors --- README.md | 3 +-- examples/client.rs | 3 +-- src/header/common/connection.rs | 12 ++++++++++++ 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 82b6a98087..da4e3e5de5 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,6 @@ use std::io::Read; use hyper::Client; use hyper::header::Connection; -use hyper::header::ConnectionOption; fn main() { // Create a client. @@ -65,7 +64,7 @@ fn main() { // Creating an outgoing request. let mut res = client.get("http://www.gooogle.com/") // set a header - .header(Connection(vec![ConnectionOption::Close])) + .header(Connection::close()) // let 'er go! .send().unwrap(); diff --git a/examples/client.rs b/examples/client.rs index ba638c66dd..daca4c27d0 100644 --- a/examples/client.rs +++ b/examples/client.rs @@ -8,7 +8,6 @@ use std::io; use hyper::Client; use hyper::header::Connection; -use hyper::header::ConnectionOption::Close; fn main() { env_logger::init().unwrap(); @@ -24,7 +23,7 @@ fn main() { let mut client = Client::new(); let mut res = client.get(&*url) - .header(Connection(vec![Close])) + .header(Connection::close()) .send().unwrap(); println!("Response: {}", res.status); diff --git a/src/header/common/connection.rs b/src/header/common/connection.rs index c4ad673db5..cf544e9cf6 100644 --- a/src/header/common/connection.rs +++ b/src/header/common/connection.rs @@ -71,6 +71,18 @@ header! { } } +impl Connection { + /// A constructor to easily create a `Connection: close` header. + pub fn close() -> Connection { + Connection(vec![ConnectionOption::Close]) + } + + /// A constructor to easily create a `Connection: keep-alive` header. + pub fn keep_alive() -> Connection { + Connection(vec![ConnectionOption::KeepAlive]) + } +} + bench_header!(close, Connection, { vec![b"close".to_vec()] }); bench_header!(keep_alive, Connection, { vec![b"keep-alive".to_vec()] }); bench_header!(header, Connection, { vec![b"authorization".to_vec()] });