From d071c5e456367ed0cc4f907e9e5c7dc46c331399 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Sun, 30 May 2021 16:06:41 +0200 Subject: Replace boxed errors with concrete error types --- src/github.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/github.rs') 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, Box> { +pub fn fetch_repos() -> Result, Error> { let mut headers = reqwest::header::HeaderMap::new(); headers.insert("Accept", "application/vnd.github.v3+json".parse()?); -- cgit v1.2.3