Use Instance.client instead of creating a new one.
This commit is contained in:
parent
6542a7a362
commit
6650bcf1df
23
src/limit.rs
23
src/limit.rs
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue