summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <matthias.beyer@atos.net>2019-04-25 09:40:51 +0200
committerMatthias Beyer <matthias.beyer@atos.net>2019-04-25 09:40:51 +0200
commitd5e5230dea1ca10483b29189f7a0633663ee4413 (patch)
treef26edc3e428359a49635201c3bd7d1deddb7b120
parent5d9fd8fc5a01dec571e35d6d84ca0636ddbf4517 (diff)
Refactor: Impl of Api for RestApi to be less code
-rw-r--r--librepology/src/v1/restapi.rs24
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