Add argument to specify which LimitType to use

This commit is contained in:
Flori Weber 2023-06-11 17:35:47 +02:00
parent 9449c4cd4d
commit 5d039c3e9b
No known key found for this signature in database
GPG Key ID: 0ACD574FCF5226CF
1 changed files with 6 additions and 2 deletions

View File

@ -4,18 +4,21 @@ use serde_json::from_str;
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.
pub async fn handle_request(
request: RequestBuilder,
user: &mut UserMeta,
limit_type: LimitType,
) -> Result<reqwest::Response, crate::errors::ChorusLibError> {
let mut belongs_to = user.belongs_to.borrow_mut();
match LimitedRequester::new()
.await
.send_request(
request,
crate::api::limits::LimitType::Channel,
limit_type,
&mut belongs_to.limits,
&mut user.limits,
)
@ -29,8 +32,9 @@ pub async fn handle_request(
pub async fn deserialize_response<T: for<'a> Deserialize<'a>>(
request: RequestBuilder,
user: &mut UserMeta,
limit_type: LimitType,
) -> Result<T, ChorusLibError> {
let response = handle_request(request, user).await.unwrap();
let response = handle_request(request, user, limit_type).await.unwrap();
let response_text = match response.text().await {
Ok(string) => string,
Err(e) => {