changed option return type into result

This commit is contained in:
Martin Vrhovšek 2025-01-19 02:14:41 +01:00
parent 5fca81c6bf
commit a5d1fc6669
2 changed files with 7 additions and 7 deletions

View File

@ -24,29 +24,29 @@ pub fn startup(auth: &collections::HashMap<String, String>) -> (curl::easy::Easy
(request, data) (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(); let mut transfer = request.transfer();
if let Err(e) = transfer.read_function(|buf| { if let Err(e) = transfer.read_function(|buf| {
Ok(data.as_bytes().read(buf).unwrap_or(0)) Ok(data.as_bytes().read(buf).unwrap_or(0))
}) { }) {
eprintln!("[ERROR] Failed to read the data:\n{e}"); eprintln!("[ERROR] Failed to read the data:\n{e}");
return None; return Err(e);
} }
if let Err(e) = transfer.perform() { if let Err(e) = transfer.perform() {
eprintln!("[ERROR] Failed to perform the CURL request:\n{e}"); 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 so we can access request.response_code below
drop(transfer); drop(transfer);
match request.response_code() { match request.response_code() {
Ok(t) => Some(t), Ok(t) => Ok(t),
Err(e) => { Err(e) => {
eprintln!("[ERROR] Failed to retrieve the response code:\n{e}"); eprintln!("[ERROR] Failed to retrieve the response code:\n{e}");
None Err(e)
}, },
} }
} }

View File

@ -29,8 +29,8 @@ pub fn read_messages(mut request: curl::easy::Easy, data: &str) {
// send curl request // send curl request
let res = crate::curl::request(&mut request, &data); let res = crate::curl::request(&mut request, &data);
match res { match res {
Some(t) => println!("Response code: {t}"), Ok(t) => println!("Response code: {t}"),
None => eprintln!("[ERROR] Something went wrong with the CURL request"), Err(e) => eprintln!("[ERROR] Something went wrong with the CURL request:\n{e}"),
} }
} }
}, },