src/client/http_client.rs - download: fix error handling
This commit is contained in:
parent
45db6f89e1
commit
81820b0d4d
@ -224,16 +224,22 @@ impl HttpClient {
|
|||||||
client.request(req)
|
client.request(req)
|
||||||
.map_err(Error::from)
|
.map_err(Error::from)
|
||||||
.and_then(|resp| {
|
.and_then(|resp| {
|
||||||
|
let status = resp.status();
|
||||||
let _status = resp.status(); // fixme: ??
|
if !status.is_success() {
|
||||||
|
future::Either::A(
|
||||||
|
HttpClient::api_response(resp)
|
||||||
|
.and_then(|_| { bail!("unknown error"); })
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
future::Either::B(
|
||||||
resp.into_body()
|
resp.into_body()
|
||||||
.map_err(Error::from)
|
.map_err(Error::from)
|
||||||
.for_each(move |chunk| {
|
.for_each(move |chunk| {
|
||||||
output.write_all(&chunk)?;
|
output.write_all(&chunk)?;
|
||||||
Ok(())
|
Ok(())
|
||||||
})
|
})
|
||||||
|
)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user