diff --git a/src/async_impl/client.rs b/src/async_impl/client.rs index a43a0d9..fe9e4e6 100644 --- a/src/async_impl/client.rs +++ b/src/async_impl/client.rs @@ -13,7 +13,7 @@ use native_tls::{TlsConnector, TlsConnectorBuilder}; use super::body; use super::request::{self, Request, RequestBuilder}; -use super::response::{self, Response}; +use super::response::Response; use connect::Connector; use into_url::to_uri; use redirect::{self, RedirectPolicy, remove_sensitive_headers}; @@ -29,7 +29,6 @@ static DEFAULT_USER_AGENT: &'static str = /// /// The `Client` holds a connection pool internally, so it is advised that /// you create one and **reuse** it. - #[derive(Clone)] pub struct Client { inner: Arc, @@ -516,7 +515,7 @@ impl Future for PendingRequest { debug!("Location header had invalid URI: {:?}", e); } } - let res = response::new(res, self.url.clone(), self.client.gzip); + let res = Response::new(res, self.url.clone(), self.client.gzip); return Ok(Async::Ready(res)); } } diff --git a/src/async_impl/response.rs b/src/async_impl/response.rs index 89d518f..01d212a 100644 --- a/src/async_impl/response.rs +++ b/src/async_impl/response.rs @@ -22,6 +22,21 @@ pub struct Response { } impl Response { + pub(super) fn new(mut res: ::hyper::Response<::hyper::Body>, url: Url, gzip: bool) -> Response { + let status = res.status(); + let version = res.version(); + let mut headers = mem::replace(res.headers_mut(), HeaderMap::new()); + let decoder = decoder::detect(&mut headers, body::wrap(res.into_body()), gzip); + debug!("Response: '{}' for {}", status, url); + Response { + status: status, + headers: headers, + url: url, + body: decoder, + version: version, + } + } + /// Get the final `Url` of this `Response`. #[inline] pub fn url(&self) -> &Url { @@ -148,20 +163,3 @@ impl fmt::Debug for Json { .finish() } } - -// pub(crate) - -pub fn new(mut res: ::hyper::Response<::hyper::Body>, url: Url, gzip: bool) -> Response { - let status = res.status(); - let version = res.version(); - let mut headers = mem::replace(res.headers_mut(), HeaderMap::new()); - let decoder = decoder::detect(&mut headers, body::wrap(res.into_body()), gzip); - debug!("Response: '{}' for {}", status, url); - Response { - status: status, - headers: headers, - url: url, - body: decoder, - version: version, - } -}