From 14687ad6d22626070595b2716e28cb9da08ffbe5 Mon Sep 17 00:00:00 2001 From: Jamie Turner Date: Mon, 3 Nov 2014 21:06:30 -0800 Subject: [PATCH] Re-add len() and clear() as inherent Headers methods. --- src/header/mod.rs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/header/mod.rs b/src/header/mod.rs index 898be4f6..40172e96 100644 --- a/src/header/mod.rs +++ b/src/header/mod.rs @@ -268,6 +268,16 @@ impl Headers { inner: self.data.iter() } } + + /// Returns the number of headers in the map. + pub fn len(&self) -> uint { + self.data.len() + } + + /// Remove all headers from the map. + pub fn clear(&mut self) { + self.data.clear() + } } impl fmt::Show for Headers { @@ -516,5 +526,24 @@ mod tests { assert_eq!(headers.get_raw("Content-length").unwrap(), [b"20".to_vec()][]); assert_eq!(headers.get(), Some(&ContentLength(20))); } + + #[test] + fn test_len() { + let mut headers = Headers::new(); + headers.set(ContentLength(10)); + assert_eq!(headers.len(), 1); + headers.set(ContentType(Mime(Text, Plain, vec![]))); + assert_eq!(headers.len(), 2); + } + + #[test] + fn test_clear() { + let mut headers = Headers::new(); + headers.set(ContentLength(10)); + headers.set(ContentType(Mime(Text, Plain, vec![]))); + assert_eq!(headers.len(), 2); + headers.clear(); + assert_eq!(headers.len(), 0); + } }