Add request timeout (#761)

Closes #754
This commit is contained in:
kodieg
2020-01-03 20:25:04 +01:00
committed by Sean McArthur
parent c0f717cf30
commit b159963f6c
3 changed files with 65 additions and 9 deletions

View File

@@ -772,7 +772,7 @@ impl Client {
}
pub(super) fn execute_request(&self, req: Request) -> Pending {
let (method, url, mut headers, body) = req.pieces();
let (method, url, mut headers, body, timeout) = req.pieces();
// insert default headers in the request headers
// without overwriting already appended headers.
@@ -816,15 +816,15 @@ impl Client {
.body(body.into_stream())
.expect("valid request parts");
let timeout = timeout
.or(self.inner.request_timeout)
.map(|dur| tokio::time::delay_for(dur));
*req.headers_mut() = headers.clone();
let in_flight = self.inner.hyper.request(req);
let timeout = self
.inner
.request_timeout
.map(|dur| tokio::time::delay_for(dur));
Pending {
inner: PendingInner::Request(PendingRequest {
method,