aboutsummaryrefslogtreecommitdiffstats
path: root/src/github.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/github.rs')
-rw-r--r--src/github.rs13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/github.rs b/src/github.rs
index 8c853da..0b20abd 100644
--- a/src/github.rs
+++ b/src/github.rs
@@ -1,5 +1,6 @@
use reqwest::blocking::ClientBuilder;
use serde::Deserialize;
+use thiserror;
const USER_AGENT: &'static str = concat!(
@@ -9,6 +10,16 @@ const USER_AGENT: &'static str = concat!(
);
+#[derive(Debug, thiserror::Error)]
+pub enum Error {
+ #[error("request error")]
+ Http(#[from] reqwest::Error),
+
+ #[error("request header error")]
+ Header(#[from] reqwest::header::InvalidHeaderValue),
+}
+
+
#[derive(Debug, Deserialize)]
pub struct Repo {
pub id: i64,
@@ -21,7 +32,7 @@ pub struct Repo {
}
-pub fn fetch_repos() -> Result<Vec<Repo>, Box<dyn std::error::Error>> {
+pub fn fetch_repos() -> Result<Vec<Repo>, Error> {
let mut headers = reqwest::header::HeaderMap::new();
headers.insert("Accept", "application/vnd.github.v3+json".parse()?);