add update_limits (TODO) and add_to_queue
This commit is contained in:
parent
ff9424f7ee
commit
4b3cd3a5d3
25
src/limit.rs
25
src/limit.rs
|
@ -1,6 +1,6 @@
|
||||||
use crate::api::limits::Limits;
|
use crate::api::limits::{LimitType, Limits};
|
||||||
|
|
||||||
use reqwest::{Client, Request};
|
use reqwest::{Client, RequestBuilder, Response};
|
||||||
use std::collections::VecDeque;
|
use std::collections::VecDeque;
|
||||||
|
|
||||||
// Note: There seem to be some overlapping request limiters. We need to make sure that sending a
|
// Note: There seem to be some overlapping request limiters. We need to make sure that sending a
|
||||||
|
@ -9,7 +9,7 @@ use std::collections::VecDeque;
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
pub struct LimitedRequester {
|
pub struct LimitedRequester {
|
||||||
http: Client,
|
http: Client,
|
||||||
requests: VecDeque<Request>,
|
requests: VecDeque<RequestBuilder>,
|
||||||
last_reset_epoch: i64,
|
last_reset_epoch: i64,
|
||||||
limits_rate: Limits,
|
limits_rate: Limits,
|
||||||
}
|
}
|
||||||
|
@ -28,4 +28,23 @@ impl LimitedRequester {
|
||||||
limits_rate: Limits::check_limits(api_url).await,
|
limits_rate: Limits::check_limits(api_url).await,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn add_to_queue(request: RequestBuilder, queue: &mut VecDeque<RequestBuilder>) {
|
||||||
|
queue.push_back(request);
|
||||||
|
}
|
||||||
|
|
||||||
|
fn update_limits(&mut self, response: Response, limit_types: Vec<LimitType>) -> bool {
|
||||||
|
let remaining = match response.headers().get("X-RateLimit-Remaining") {
|
||||||
|
Some(remaining) => remaining,
|
||||||
|
None => return false,
|
||||||
|
};
|
||||||
|
let limit = match response.headers().get("X-RateLimit-Limit") {
|
||||||
|
Some(limit) => limit,
|
||||||
|
None => return false,
|
||||||
|
};
|
||||||
|
let reset = match response.headers().get("X-RateLimit-Reset") {
|
||||||
|
Some(reset) => reset,
|
||||||
|
None => return false,
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue