From 8cd89bed86a648c143cc93b5b758b329ffcb142f Mon Sep 17 00:00:00 2001 From: Sean McArthur Date: Mon, 23 Jan 2017 22:20:39 -0800 Subject: [PATCH] refactor(header): improve debug view of Headers --- src/header/mod.rs | 17 +++++++++++------ src/http/h1/parse.rs | 2 +- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/header/mod.rs b/src/header/mod.rs index f3dbb68a..1238e87b 100644 --- a/src/header/mod.rs +++ b/src/header/mod.rs @@ -202,6 +202,14 @@ impl<'a, H: Header + ?Sized + 'a> fmt::Display for FmtHeader<'a, H> { struct ValueString<'a>(&'a Item); +impl<'a> fmt::Debug for ValueString<'a> { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + try!(f.write_str("\"")); + try!(self.0.write_h1(&mut MultilineFormatter(Multi::Join(true, f)))); + f.write_str("\"") + } +} + impl<'a> fmt::Display for ValueString<'a> { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { self.0.write_h1(&mut MultilineFormatter(Multi::Join(true, f))) @@ -504,12 +512,9 @@ impl fmt::Display for Headers { impl fmt::Debug for Headers { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - try!(f.write_str("Headers { ")); - for header in self.iter() { - try!(write!(f, "{:?}, ", header)); - } - try!(f.write_str("}")); - Ok(()) + f.debug_map() + .entries(self.iter().map(|view| (view.0.as_ref(), ValueString(view.1)))) + .finish() } } diff --git a/src/http/h1/parse.rs b/src/http/h1/parse.rs index 09a2c4cb..559bd006 100644 --- a/src/http/h1/parse.rs +++ b/src/http/h1/parse.rs @@ -92,7 +92,7 @@ impl Http1Transaction for ServerTransaction { let init_cap = 30 + head.headers.len() * AVERAGE_HEADER_SIZE; dst.reserve(init_cap); - debug!("writing {:#?}", head.headers); + debug!("writing headers = {:?}", head.headers); if head.version == ::HttpVersion::Http11 && head.subject == ::StatusCode::Ok { extend(dst, b"HTTP/1.1 200 OK\r\n"); let _ = write!(FastWrite(dst), "{}\r\n", head.headers);