Use Instance.client instead of creating a new one.
This commit is contained in:
parent
27047ab909
commit
2233063d5f
23
src/limit.rs
23
src/limit.rs
|
@ -1,8 +1,9 @@
|
||||||
use reqwest::{Client, RequestBuilder, Response};
|
use reqwest::{RequestBuilder, Response};
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
api::limits::{Limit, LimitType, Limits, LimitsMutRef},
|
api::limits::{Limit, LimitType, Limits, LimitsMutRef},
|
||||||
errors::ChorusLibError,
|
errors::ChorusLibError,
|
||||||
|
instance::Instance,
|
||||||
};
|
};
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
|
@ -40,10 +41,10 @@ impl LimitedRequester {
|
||||||
pub async fn send_request(
|
pub async fn send_request(
|
||||||
request: RequestBuilder,
|
request: RequestBuilder,
|
||||||
limit_type: LimitType,
|
limit_type: LimitType,
|
||||||
instance_rate_limits: &mut Limits,
|
instance: &mut Instance,
|
||||||
user_rate_limits: &mut Limits,
|
user_rate_limits: &mut Limits,
|
||||||
) -> Result<Response, ChorusLibError> {
|
) -> 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() {
|
let built_request = match request.build() {
|
||||||
Ok(request) => request,
|
Ok(request) => request,
|
||||||
Err(e) => {
|
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 {
|
let response = match result {
|
||||||
Ok(is_response) => is_response,
|
Ok(is_response) => is_response,
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
|
@ -65,7 +66,7 @@ impl LimitedRequester {
|
||||||
LimitedRequester::update_limits(
|
LimitedRequester::update_limits(
|
||||||
&response,
|
&response,
|
||||||
limit_type,
|
limit_type,
|
||||||
instance_rate_limits,
|
&mut instance.limits,
|
||||||
user_rate_limits,
|
user_rate_limits,
|
||||||
);
|
);
|
||||||
if !response.status().is_success() {
|
if !response.status().is_success() {
|
||||||
|
@ -256,17 +257,17 @@ mod rate_limit {
|
||||||
String::from("http://localhost:3001/cdn"),
|
String::from("http://localhost:3001/cdn"),
|
||||||
);
|
);
|
||||||
let mut request: Option<Result<Response, ChorusLibError>> = None;
|
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;
|
let mut user_rate_limits = Limits::check_limits(urls.api.clone()).await;
|
||||||
|
|
||||||
for _ in 0..=50 {
|
for _ in 0..=50 {
|
||||||
let request_path = urls.api.clone() + "/some/random/nonexisting/path";
|
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(
|
request = Some(
|
||||||
LimitedRequester::send_request(
|
LimitedRequester::send_request(
|
||||||
request_builder,
|
request_builder,
|
||||||
LimitType::Channel,
|
LimitType::Channel,
|
||||||
&mut instance_rate_limits,
|
&mut instance,
|
||||||
&mut user_rate_limits,
|
&mut user_rate_limits,
|
||||||
)
|
)
|
||||||
.await,
|
.await,
|
||||||
|
@ -282,15 +283,15 @@ mod rate_limit {
|
||||||
String::from("wss://localhost:3001/"),
|
String::from("wss://localhost:3001/"),
|
||||||
String::from("http://localhost:3001/cdn"),
|
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 mut user_rate_limits = Limits::check_limits(urls.api.clone()).await;
|
||||||
let _requester = LimitedRequester;
|
let _requester = LimitedRequester;
|
||||||
let request_path = urls.api.clone() + "/policies/instance/limits";
|
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(
|
let request = LimitedRequester::send_request(
|
||||||
request_builder,
|
request_builder,
|
||||||
LimitType::Channel,
|
LimitType::Channel,
|
||||||
&mut instance_rate_limits,
|
&mut instance,
|
||||||
&mut user_rate_limits,
|
&mut user_rate_limits,
|
||||||
)
|
)
|
||||||
.await;
|
.await;
|
||||||
|
|
Loading…
Reference in New Issue