Unify errors into one struct
This commit is contained in:
		
							parent
							
								
									dd62cc2c19
								
							
						
					
					
						commit
						1d8210967c
					
				| 
						 | 
				
			
			@ -28,22 +28,22 @@ pub fn get_client() -> reqwest::Client {
 | 
			
		|||
pub async fn get_sauce_info(
 | 
			
		||||
    client: reqwest::Client,
 | 
			
		||||
    sauce: i32,
 | 
			
		||||
) -> Result<structs::GalleryInfo, reqwest::Error> {
 | 
			
		||||
) -> Result<structs::GalleryInfo, structs::Error> {
 | 
			
		||||
    let mut uri = String::from("https://nhentai.net/api/gallery/");
 | 
			
		||||
    uri.push_str(&sauce.to_string());
 | 
			
		||||
    let resp = client.get(&uri).send().await?;
 | 
			
		||||
    Ok(serde_json::from_str(&resp.text().await?).unwrap())
 | 
			
		||||
    Ok(serde_json::from_str(&resp.text().await?)?)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub async fn get_search_info(
 | 
			
		||||
    client: reqwest::Client,
 | 
			
		||||
    search_query: &str,
 | 
			
		||||
) -> Result<structs::SearchInfo, reqwest::Error> {
 | 
			
		||||
) -> Result<structs::SearchInfo, structs::Error> {
 | 
			
		||||
    let uri = "https://nhentai.net/api/galleries/search";
 | 
			
		||||
    let resp = client
 | 
			
		||||
        .get(uri)
 | 
			
		||||
        .query(&[("query", search_query)])
 | 
			
		||||
        .send()
 | 
			
		||||
        .await?;
 | 
			
		||||
    Ok(serde_json::from_str(&resp.text().await?).unwrap())
 | 
			
		||||
    Ok(serde_json::from_str(&resp.text().await?)?)
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -108,6 +108,36 @@ impl fmt::Display for GalleryInfoSuccess {
 | 
			
		|||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Debug)]
 | 
			
		||||
pub enum Error {
 | 
			
		||||
    Reqwest(reqwest::Error),
 | 
			
		||||
    SerdeJSON(serde_json::Error),
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl From<reqwest::Error> for Error {
 | 
			
		||||
    #[inline]
 | 
			
		||||
    fn from(error: reqwest::Error) -> Error {
 | 
			
		||||
        Error::Reqwest(error)
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl From<serde_json::Error> for Error {
 | 
			
		||||
    #[inline]
 | 
			
		||||
    fn from(error: serde_json::Error) -> Error {
 | 
			
		||||
        Error::SerdeJSON(error)
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl fmt::Display for Error {
 | 
			
		||||
    fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
 | 
			
		||||
        let str = match self {
 | 
			
		||||
            Error::Reqwest(err) => format!("reqwest error: {}", err),
 | 
			
		||||
            Error::SerdeJSON(err) => format!("serde_json error: {}", err),
 | 
			
		||||
        };
 | 
			
		||||
        formatter.write_str(&str)
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
fn convert_to_i32<'de, D>(deserializer: D) -> Result<i32, D::Error>
 | 
			
		||||
where
 | 
			
		||||
    D: Deserializer<'de>,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue