From 1014855faec62ba00acdff6263c86e7dfa5fb047 Mon Sep 17 00:00:00 2001 From: Jonathan Reem Date: Wed, 21 Jan 2015 01:15:21 +0100 Subject: [PATCH] feat(server): add a deconstruct method to Request. --- src/server/request.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/server/request.rs b/src/server/request.rs index 3ea817a9d6..c761eddc21 100644 --- a/src/server/request.rs +++ b/src/server/request.rs @@ -32,7 +32,6 @@ pub struct Request<'a> { impl<'a> Request<'a> { - /// Create a new Request, reading the StartLine and Headers so they are /// immediately useful. pub fn new(mut stream: &'a mut (Reader + 'a), addr: SocketAddr) -> HttpResult> { @@ -64,6 +63,14 @@ impl<'a> Request<'a> { body: body }) } + + /// Deconstruct a Request into its constituent parts. + pub fn deconstruct(self) -> (SocketAddr, Method, Headers, + RequestUri, HttpVersion, + HttpReader<&'a mut (Reader + 'a)>,) { + (self.remote_addr, self.method, self.headers, + self.uri, self.version, self.body) + } } impl<'a> Reader for Request<'a> {