Add argument to specify which LimitType to use

This commit is contained in:
Flori Weber 2023-06-11 17:35:47 +02:00
parent 4305f035f0
commit 120469453b
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 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 /// 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,
limit_type: LimitType,
) -> Result<reqwest::Response, crate::errors::ChorusLibError> { ) -> Result<reqwest::Response, crate::errors::ChorusLibError> {
let mut belongs_to = user.belongs_to.borrow_mut(); let mut belongs_to = user.belongs_to.borrow_mut();
match LimitedRequester::new() match LimitedRequester::new()
.await .await
.send_request( .send_request(
request, request,
crate::api::limits::LimitType::Channel, limit_type,
&mut belongs_to.limits, &mut belongs_to.limits,
&mut user.limits, &mut user.limits,
) )
@ -29,8 +32,9 @@ pub async fn handle_request(
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,
limit_type: LimitType,
) -> Result<T, ChorusLibError> { ) -> 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 { let response_text = match response.text().await {
Ok(string) => string, Ok(string) => string,
Err(e) => { Err(e) => {