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)
|
(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)
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -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}"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user