pub(crate)ify the async::request module

This commit is contained in:
Sean McArthur
2018-09-11 14:33:38 -07:00
parent 2f893718ba
commit 1ded95ce0e
2 changed files with 14 additions and 17 deletions

View File

@@ -12,7 +12,7 @@ use native_tls::{TlsConnector, TlsConnectorBuilder};
use super::body; use super::body;
use super::request::{self, Request, RequestBuilder}; use super::request::{Request, RequestBuilder};
use super::response::Response; use super::response::Response;
use connect::Connector; use connect::Connector;
use into_url::to_uri; use into_url::to_uri;
@@ -295,7 +295,7 @@ impl Client {
Ok(url) => Ok(Request::new(method, url)), Ok(url) => Ok(Request::new(method, url)),
Err(err) => Err(::error::from(err)), Err(err) => Err(::error::from(err)),
}; };
request::builder(self.clone(), req) RequestBuilder::new(self.clone(), req)
} }
/// Executes a `Request`. /// Executes a `Request`.
@@ -321,7 +321,7 @@ impl Client {
url, url,
user_headers, user_headers,
body body
) = request::pieces(req); ) = req.pieces();
let mut headers = self.inner.headers.clone(); // default headers let mut headers = self.inner.headers.clone(); // default headers
for (key, value) in user_headers.iter() { for (key, value) in user_headers.iter() {

View File

@@ -84,9 +84,20 @@ impl Request {
pub fn body_mut(&mut self) -> &mut Option<Body> { pub fn body_mut(&mut self) -> &mut Option<Body> {
&mut self.body &mut self.body
} }
pub(super) fn pieces(self) -> (Method, Url, HeaderMap, Option<Body>) {
(self.method, self.url, self.headers, self.body)
}
} }
impl RequestBuilder { impl RequestBuilder {
pub(super) fn new(client: Client, request: ::Result<Request>) -> RequestBuilder {
RequestBuilder {
client,
request,
}
}
/// Add a `Header` to this Request. /// Add a `Header` to this Request.
pub fn header<K, V>(mut self, key: K, value: V) -> RequestBuilder pub fn header<K, V>(mut self, key: K, value: V) -> RequestBuilder
where where
@@ -301,20 +312,6 @@ fn fmt_request_fields<'a, 'b>(f: &'a mut fmt::DebugStruct<'a, 'b>, req: &Request
.field("headers", &req.headers) .field("headers", &req.headers)
} }
// pub(crate)
#[inline]
pub fn builder(client: Client, request: ::Result<Request>) -> RequestBuilder {
RequestBuilder {
client,
request,
}
}
#[inline]
pub fn pieces(req: Request) -> (Method, Url, HeaderMap, Option<Body>) {
(req.method, req.url, req.headers, req.body)
}
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {