Update to async/await-enabled tokio

This commit is contained in:
Eelco Dolstra
2019-12-10 13:37:23 +01:00
parent 7f08975050
commit a6f0bef0a7
7 changed files with 274 additions and 533 deletions
+7 -13
View File
@@ -1,6 +1,5 @@
use super::{Store, StorePath, PathInfo};
use super::{PathInfo, Store, StorePath};
use crate::Error;
use futures::compat::Future01CompatExt;
pub struct BinaryCacheStore {
base_uri: String,
@@ -27,22 +26,17 @@ impl Store for BinaryCacheStore {
let store_dir = self.store_dir().to_string();
Box::pin(async move {
let response = client
.get(&uri)
.send()
.compat()
.await?;
let response = client.get(&uri).send().await?;
if response.status() == reqwest::StatusCode::NOT_FOUND || response.status() == reqwest::StatusCode::FORBIDDEN {
if response.status() == reqwest::StatusCode::NOT_FOUND
|| response.status() == reqwest::StatusCode::FORBIDDEN
{
return Err(Error::InvalidPath(path));
}
let mut response = response.error_for_status()?;
let response = response.error_for_status()?;
let body = response
.text()
.compat()
.await?;
let body = response.text().await?;
PathInfo::parse_nar_info(&body, &store_dir)
})