Use Instance.client instead of creating a new one.

This commit is contained in:
Flori Weber 2023-06-20 22:42:08 +02:00
parent 27047ab909
commit 2233063d5f
No known key found for this signature in database
GPG Key ID: 0ACD574FCF5226CF
1 changed files with 12 additions and 11 deletions

View File

@ -1,8 +1,9 @@
use reqwest::{Client, RequestBuilder, Response};
use reqwest::{RequestBuilder, Response};
use crate::{
api::limits::{Limit, LimitType, Limits, LimitsMutRef},
errors::ChorusLibError,
instance::Instance,
};
#[derive(Debug)]
@ -40,10 +41,10 @@ impl LimitedRequester {
pub async fn send_request(
request: RequestBuilder,
limit_type: LimitType,
instance_rate_limits: &mut Limits,
instance: &mut Instance,
user_rate_limits: &mut Limits,
) -> Result<Response, ChorusLibError> {
if LimitedRequester::can_send_request(limit_type, instance_rate_limits, user_rate_limits) {
if LimitedRequester::can_send_request(limit_type, &instance.limits, user_rate_limits) {
let built_request = match request.build() {
Ok(request) => request,
Err(e) => {
@ -53,7 +54,7 @@ impl LimitedRequester {
});
}
};
let result = Client::new().execute(built_request).await;
let result = instance.client.execute(built_request).await;
let response = match result {
Ok(is_response) => is_response,
Err(e) => {
@ -65,7 +66,7 @@ impl LimitedRequester {
LimitedRequester::update_limits(
&response,
limit_type,
instance_rate_limits,
&mut instance.limits,
user_rate_limits,
);
if !response.status().is_success() {
@ -256,17 +257,17 @@ mod rate_limit {
String::from("http://localhost:3001/cdn"),
);
let mut request: Option<Result<Response, ChorusLibError>> = None;
let mut instance_rate_limits = Limits::check_limits(urls.api.clone()).await;
let mut instance = Instance::new(urls.clone()).await.unwrap();
let mut user_rate_limits = Limits::check_limits(urls.api.clone()).await;
for _ in 0..=50 {
let request_path = urls.api.clone() + "/some/random/nonexisting/path";
let request_builder = Client::new().get(request_path);
let request_builder = instance.client.get(request_path);
request = Some(
LimitedRequester::send_request(
request_builder,
LimitType::Channel,
&mut instance_rate_limits,
&mut instance,
&mut user_rate_limits,
)
.await,
@ -282,15 +283,15 @@ mod rate_limit {
String::from("wss://localhost:3001/"),
String::from("http://localhost:3001/cdn"),
);
let mut instance_rate_limits = Limits::check_limits(urls.api.clone()).await;
let mut instance = Instance::new(urls.clone()).await.unwrap();
let mut user_rate_limits = Limits::check_limits(urls.api.clone()).await;
let _requester = LimitedRequester;
let request_path = urls.api.clone() + "/policies/instance/limits";
let request_builder = Client::new().get(request_path);
let request_builder = instance.client.get(request_path);
let request = LimitedRequester::send_request(
request_builder,
LimitType::Channel,
&mut instance_rate_limits,
&mut instance,
&mut user_rate_limits,
)
.await;