diff options
Diffstat (limited to 'librepology/src/v1/restapi.rs')
-rw-r--r-- | librepology/src/v1/restapi.rs | 14 |
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) } } |