diff options
-rw-r--r-- | librepology/src/v1/restapi.rs | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/librepology/src/v1/restapi.rs b/librepology/src/v1/restapi.rs index 2ac593d..bc1a693 100644 --- a/librepology/src/v1/restapi.rs +++ b/librepology/src/v1/restapi.rs @@ -41,30 +41,18 @@ impl RestApi { impl Api for RestApi { fn project<N: AsRef<str>>(&self, name: N) -> Result<Vec<Package>> { - let request_url = format!("{}api/v1/project/{}", self.repology, name.as_ref()); - - self.send_request(request_url) - .and_then(|r| { - serde_json::from_str(&r).map_err(Error::from) - }) + let url = format!("{}api/v1/project/{}", self.repology, name.as_ref()); + serde_json::from_str(&self.send_request(url)?).map_err(Error::from) } fn problems_for_repo<R: AsRef<str>>(&self, repo: R) -> Result<Vec<Problem>> { - let request_url = format!("{}api/v1/repository/{}/problems", self.repology, repo.as_ref()); - - self.send_request(request_url) - .and_then(|r| { - serde_json::from_str(&r).map_err(Error::from) - }) + let url = format!("{}api/v1/repository/{}/problems", self.repology, repo.as_ref()); + serde_json::from_str(&self.send_request(url)?).map_err(Error::from) } fn problems_for_maintainer<M: AsRef<str>>(&self, maintainer: M) -> Result<Vec<Problem>> { - let request_url = format!("{}api/v1/maintainer/{}/problems", self.repology, maintainer.as_ref()); - - self.send_request(request_url) - .and_then(|r| { - serde_json::from_str(&r).map_err(Error::from) - }) + let url = format!("{}api/v1/maintainer/{}/problems", self.repology, maintainer.as_ref()); + serde_json::from_str(&self.send_request(url)?).map_err(Error::from) } }
\ No newline at end of file |