Introduce handle_request_as_option
This commit is contained in:
parent
8d6fab0858
commit
e0a6b37a94
|
@ -6,8 +6,7 @@ use crate::{errors::ChorusLibError, instance::UserMeta, limit::LimitedRequester}
|
||||||
|
|
||||||
use super::limits::LimitType;
|
use super::limits::LimitType;
|
||||||
|
|
||||||
/// Sends a request to wherever it needs to go and performs some basic error
|
/// Sends a request to wherever it needs to go and performs some basic error handling.
|
||||||
/// handling.
|
|
||||||
pub async fn handle_request(
|
pub async fn handle_request(
|
||||||
request: RequestBuilder,
|
request: RequestBuilder,
|
||||||
user: &mut UserMeta,
|
user: &mut UserMeta,
|
||||||
|
@ -29,6 +28,21 @@ pub async fn handle_request(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Sends a request to wherever it needs to go. Returns [`None`] on success and
|
||||||
|
/// [`Some(ChorusLibError)`] on failure.
|
||||||
|
pub async fn handle_request_as_option(
|
||||||
|
request: RequestBuilder,
|
||||||
|
user: &mut UserMeta,
|
||||||
|
limit_type: LimitType,
|
||||||
|
) -> Option<ChorusLibError> {
|
||||||
|
match handle_request(request, user, limit_type).await {
|
||||||
|
Ok(_) => None,
|
||||||
|
Err(e) => Some(ChorusLibError::InvalidResponseError {
|
||||||
|
error: e.to_string(),
|
||||||
|
}),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub async fn deserialize_response<T: for<'a> Deserialize<'a>>(
|
pub async fn deserialize_response<T: for<'a> Deserialize<'a>>(
|
||||||
request: RequestBuilder,
|
request: RequestBuilder,
|
||||||
user: &mut UserMeta,
|
user: &mut UserMeta,
|
||||||
|
|
Loading…
Reference in New Issue