From 0de295670f3d30a603781955b1a7409a74f46dcf Mon Sep 17 00:00:00 2001 From: Nick Gonzales Date: Mon, 1 May 2017 12:00:11 -0600 Subject: [PATCH] refactor(http): add status() methods to RawStatus and ResponseHead This lets us convert RawStatus to StatusCode in Response without having to address the tuple index directly. --- src/http/mod.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/http/mod.rs b/src/http/mod.rs index 9b9839e1..a38f5393 100644 --- a/src/http/mod.rs +++ b/src/http/mod.rs @@ -71,10 +71,26 @@ impl MessageHead { } } +impl ResponseHead { + /// Converts this head's RawStatus into a StatusCode. + #[inline] + pub fn status(&self) -> StatusCode { + self.subject.status() + } +} + /// The raw status code and reason-phrase. #[derive(Clone, PartialEq, Debug)] pub struct RawStatus(pub u16, pub Cow<'static, str>); +impl RawStatus { + /// Converts this into a StatusCode. + #[inline] + pub fn status(&self) -> StatusCode { + StatusCode::from_u16(self.0) + } +} + impl fmt::Display for RawStatus { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { write!(f, "{} {}", self.0, self.1)