diff options
author | Matthias Beyer <matthias.beyer@atos.net> | 2019-04-25 09:40:51 +0200 |
---|---|---|
committer | Matthias Beyer <matthias.beyer@atos.net> | 2019-04-25 09:40:51 +0200 |
commit | d5e5230dea1ca10483b29189f7a0633663ee4413 (patch) | |
tree | f26edc3e428359a49635201c3bd7d1deddb7b120 | |
parent | 5d9fd8fc5a01dec571e35d6d84ca0636ddbf4517 (diff) |
Refactor: Impl of Api for RestApi to be less code
-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 |