summaryrefslogtreecommitdiffstats
path: root/librepology/src/v1/restapi.rs
diff options
context:
space:
mode:
Diffstat (limited to 'librepology/src/v1/restapi.rs')
-rw-r--r--librepology/src/v1/restapi.rs14
1 files changed, 9 insertions, 5 deletions
diff --git a/librepology/src/v1/restapi.rs b/librepology/src/v1/restapi.rs
index 1e8711c..e9a6cd1 100644
--- a/librepology/src/v1/restapi.rs
+++ b/librepology/src/v1/restapi.rs
@@ -1,9 +1,9 @@
use std::result::Result as RResult;
-use failure::Error;
-use failure::Fallible as Result;
use curl::easy::Easy2;
+use crate::v1::error::Result;
+use crate::v1::error::RepologyError as Error;
use crate::v1::types::{Package, Problem};
use crate::v1::api::Api;
@@ -43,19 +43,23 @@ impl Api for RestApi {
fn project<N: AsRef<str>>(&self, name: N) -> Result<Vec<Package>> {
let url = format!("{}api/v1/project/{}", self.repology, name.as_ref());
trace!("Request: {}", url);
- serde_json::from_str(&self.send_request(url)?).map_err(Error::from)
+ let response = self.send_request(url)?;
+ serde_json::from_str(&response)
+ .map_err(Error::from)
}
fn problems_for_repo<R: AsRef<str>>(&self, repo: R) -> Result<Vec<Problem>> {
let url = format!("{}api/v1/repository/{}/problems", self.repology, repo.as_ref());
trace!("Request: {}", url);
- serde_json::from_str(&self.send_request(url)?).map_err(Error::from)
+ let response = self.send_request(url)?;
+ serde_json::from_str(&response).map_err(Error::from)
}
fn problems_for_maintainer<M: AsRef<str>>(&self, maintainer: M) -> Result<Vec<Problem>> {
let url = format!("{}api/v1/maintainer/{}/problems", self.repology, maintainer.as_ref());
trace!("Request: {}", url);
- serde_json::from_str(&self.send_request(url)?).map_err(Error::from)
+ let response = self.send_request(url)?;
+ serde_json::from_str(&response).map_err(Error::from)
}
}