diff --git a/src/curl.rs b/src/curl.rs index 21a90fc..9db8849 100644 --- a/src/curl.rs +++ b/src/curl.rs @@ -24,29 +24,29 @@ pub fn startup(auth: &collections::HashMap) -> (curl::easy::Easy (request, data) } -pub fn request(request: &mut curl::easy::Easy, data: &str) -> Option { +pub fn request(request: &mut curl::easy::Easy, data: &str) -> Result { 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) }, } } \ No newline at end of file diff --git a/src/serial.rs b/src/serial.rs index 540ad13..6800a3c 100644 --- a/src/serial.rs +++ b/src/serial.rs @@ -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}"), } } },