From 858a09304af851b9137c47b17d7c5badaa07c250 Mon Sep 17 00:00:00 2001 From: Jonathan Reem Date: Sat, 20 Sep 2014 04:18:25 -0700 Subject: [PATCH] Remove get and rename get_ref to get Since `get_ref` (now `get`) takes `&self` there is no need for a special cloning method. --- src/client/request.rs | 4 ++-- src/client/response.rs | 4 ++-- src/header/mod.rs | 16 +--------------- src/server/request.rs | 2 +- src/server/response.rs | 4 ++-- 5 files changed, 8 insertions(+), 22 deletions(-) diff --git a/src/client/request.rs b/src/client/request.rs index 9c9afc57..4130e986 100644 --- a/src/client/request.rs +++ b/src/client/request.rs @@ -111,7 +111,7 @@ impl Request { let mut chunked = true; let mut len = 0; - match self.headers.get_ref::() { + match self.headers.get::() { Some(cl) => { chunked = false; len = cl.len(); @@ -122,7 +122,7 @@ impl Request { // cant do in match above, thanks borrowck if chunked { //TODO: use CollectionViews (when implemented) to prevent double hash/lookup - let encodings = match self.headers.get::() { + let encodings = match self.headers.get::().map(|h| h.clone()) { Some(common::TransferEncoding(mut encodings)) => { //TODO: check if chunked is already in encodings. use HashSet? encodings.push(common::transfer_encoding::Chunked); diff --git a/src/client/response.rs b/src/client/response.rs index d8ad69d3..7124cf6c 100644 --- a/src/client/response.rs +++ b/src/client/response.rs @@ -33,7 +33,7 @@ impl Response { debug!("{}", headers); let body = if headers.has::() { - match headers.get_ref::() { + match headers.get::() { Some(&TransferEncoding(ref codings)) => { if codings.len() > 1 { debug!("TODO: #2 handle other codings: {}", codings); @@ -49,7 +49,7 @@ impl Response { None => unreachable!() } } else if headers.has::() { - match headers.get_ref::() { + match headers.get::() { Some(&ContentLength(len)) => SizedReader(stream, len), None => unreachable!() } diff --git a/src/header/mod.rs b/src/header/mod.rs index 6d8319c7..6a9c7e98 100644 --- a/src/header/mod.rs +++ b/src/header/mod.rs @@ -118,20 +118,6 @@ impl Headers { self.data.insert(CaseInsensitive(Slice(header_name::())), RWLock::new(Typed(box value as Box
))); } - /// Get a clone of the header field's value, if it exists. - /// - /// Example: - /// - /// ``` - /// # use hyper::header::Headers; - /// # use hyper::header::common::ContentType; - /// # let mut headers = Headers::new(); - /// let content_type = headers.get::(); - /// ``` - pub fn get(&self) -> Option { - self.get_ref().map(|v: &H| v.clone()) - } - /// Access the raw value of a header, if it exists and has not /// been already parsed. /// @@ -158,7 +144,7 @@ impl Headers { } /// Get a reference to the header field's value, if it exists. - pub fn get_ref(&self) -> Option<&H> { + pub fn get(&self) -> Option<&H> { self.data.find(&CaseInsensitive(Slice(header_name::()))).and_then(|item| { let done = match *item.read() { // Huge borrowck hack here, should be refactored to just return here. diff --git a/src/server/request.rs b/src/server/request.rs index 4aa0e58a..91989dcd 100644 --- a/src/server/request.rs +++ b/src/server/request.rs @@ -46,7 +46,7 @@ impl Request { let body = if headers.has::() { - match headers.get_ref::() { + match headers.get::() { Some(&ContentLength(len)) => SizedReader(stream, len), None => unreachable!() } diff --git a/src/server/response.rs b/src/server/response.rs index aa779a24..800ffc87 100644 --- a/src/server/response.rs +++ b/src/server/response.rs @@ -72,7 +72,7 @@ impl Response { let mut chunked = true; let mut len = 0; - match self.headers.get_ref::() { + match self.headers.get::() { Some(cl) => { chunked = false; len = cl.len(); @@ -83,7 +83,7 @@ impl Response { // cant do in match above, thanks borrowck if chunked { //TODO: use CollectionViews (when implemented) to prevent double hash/lookup - let encodings = match self.headers.get::() { + let encodings = match self.headers.get::().map(|h| h.clone()) { Some(common::TransferEncoding(mut encodings)) => { //TODO: check if chunked is already in encodings. use HashSet? encodings.push(common::transfer_encoding::Chunked);