changed option return type into result
This commit is contained in:
parent
5fca81c6bf
commit
a5d1fc6669
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}"),
|
||||
}
|
||||
}
|
||||
},
|
||||
|
Loading…
x
Reference in New Issue
Block a user