pub(crate)ify async::response module

This commit is contained in:
Sean McArthur
2018-09-11 14:27:28 -07:00
parent b95de15587
commit 2f893718ba
2 changed files with 17 additions and 20 deletions

View File

@@ -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<ClientRef>,
@@ -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));
}
}

View File

@@ -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<T> fmt::Debug for Json<T> {
.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,
}
}