From 8aaff6c3267d8e6d309daf529f3de33dd199607b Mon Sep 17 00:00:00 2001 From: Christopher Vittal Date: Wed, 20 Sep 2017 03:21:24 -0400 Subject: [PATCH] Add into_body to async_impl::response::Response Closes #200 --- src/async_impl/response.rs | 5 +++++ tests/async.rs | 7 +++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/async_impl/response.rs b/src/async_impl/response.rs index 9572868..0d14b57 100644 --- a/src/async_impl/response.rs +++ b/src/async_impl/response.rs @@ -51,6 +51,11 @@ impl Response { &mut self.headers } + /// Consumes the response, returning the body + pub fn into_body(self) -> Decoder { + self.body + } + /// Get a reference to the response body. #[inline] pub fn body(&self) -> &Decoder { diff --git a/tests/async.rs b/tests/async.rs index 9697d3d..937c322 100644 --- a/tests/async.rs +++ b/tests/async.rs @@ -8,8 +8,7 @@ extern crate libflate; #[macro_use] mod support; -use std::mem; -use reqwest::unstable::async::{Client, Decoder}; +use reqwest::unstable::async::Client; use futures::{Future, Stream}; use tokio_core::reactor::Core; use std::io::Write; @@ -64,8 +63,8 @@ fn test_gzip(response_size: usize, chunk_size: usize) { let res_future = client.get(&format!("http://{}/gzip", server.addr())) .send() - .and_then(|mut res| { - let body = mem::replace(res.body_mut(), Decoder::empty()); + .and_then(|res| { + let body = res.into_body(); body.concat2() }) .and_then(|buf| {