changed option return type into result
This commit is contained in:
		
							
								
								
									
										10
									
								
								src/curl.rs
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								src/curl.rs
									
									
									
									
									
								
							@@ -24,29 +24,29 @@ pub fn startup(auth: &collections::HashMap<String, String>) -> (curl::easy::Easy
 | 
			
		||||
 | 
			
		||||
    (request, data)
 | 
			
		||||
}
 | 
			
		||||
pub fn request(request: &mut curl::easy::Easy, data: &str) -> Option<u32> {
 | 
			
		||||
pub fn request(request: &mut curl::easy::Easy, data: &str) -> Result<u32, curl::Error> {
 | 
			
		||||
    let mut transfer = request.transfer();
 | 
			
		||||
    
 | 
			
		||||
    if let Err(e) = transfer.read_function(|buf| {
 | 
			
		||||
        Ok(data.as_bytes().read(buf).unwrap_or(0))
 | 
			
		||||
    }) {
 | 
			
		||||
        eprintln!("[ERROR] Failed to read the data:\n{e}");
 | 
			
		||||
        return None;
 | 
			
		||||
        return Err(e);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if let Err(e) = transfer.perform() {
 | 
			
		||||
        eprintln!("[ERROR] Failed to perform the CURL request:\n{e}");
 | 
			
		||||
        return None;
 | 
			
		||||
        return Err(e);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    // drop transfer so we can access request.response_code below
 | 
			
		||||
    drop(transfer);
 | 
			
		||||
    
 | 
			
		||||
    match request.response_code() { 
 | 
			
		||||
        Ok(t) => Some(t),
 | 
			
		||||
        Ok(t) => Ok(t),
 | 
			
		||||
        Err(e) => {
 | 
			
		||||
            eprintln!("[ERROR] Failed to retrieve the response code:\n{e}");
 | 
			
		||||
            None
 | 
			
		||||
            Err(e)
 | 
			
		||||
        },
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -29,8 +29,8 @@ pub fn read_messages(mut request: curl::easy::Easy, data: &str) {
 | 
			
		||||
                    // send curl request
 | 
			
		||||
                    let res = crate::curl::request(&mut request, &data);
 | 
			
		||||
                    match res { 
 | 
			
		||||
                        Some(t) => println!("Response code: {t}"),
 | 
			
		||||
                        None => eprintln!("[ERROR] Something went wrong with the CURL request"),
 | 
			
		||||
                        Ok(t) => println!("Response code: {t}"),
 | 
			
		||||
                        Err(e) => eprintln!("[ERROR] Something went wrong with the CURL request:\n{e}"),
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            },
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user