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;
|
||||
|
||||
/// Sends a request to wherever it needs to go and performs some basic error
|
||||
/// handling.
|
||||
/// Sends a request to wherever it needs to go and performs some basic error handling.
|
||||
pub async fn handle_request(
|
||||
request: RequestBuilder,
|
||||
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>>(
|
||||
request: RequestBuilder,
|
||||
user: &mut UserMeta,
|
||||
|
|
Loading…
Reference in New Issue