Derive Debug, start debugging
This commit is contained in:
parent
3e405169e3
commit
ead320f145
|
@ -5,7 +5,7 @@ pub mod limits {
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use serde_json::from_str;
|
use serde_json::from_str;
|
||||||
|
|
||||||
#[derive(Clone, Copy, Eq, Hash, PartialEq)]
|
#[derive(Clone, Copy, Eq, Hash, PartialEq, Debug)]
|
||||||
pub enum LimitType {
|
pub enum LimitType {
|
||||||
AuthRegister,
|
AuthRegister,
|
||||||
AuthLogin,
|
AuthLogin,
|
||||||
|
@ -134,7 +134,7 @@ pub mod limits {
|
||||||
pub absoluteRate: AbsoluteRate,
|
pub absoluteRate: AbsoluteRate,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Copy)]
|
#[derive(Clone, Copy, Debug)]
|
||||||
pub struct Limit {
|
pub struct Limit {
|
||||||
pub bucket: LimitType,
|
pub bucket: LimitType,
|
||||||
pub limit: u64,
|
pub limit: u64,
|
||||||
|
|
22
src/limit.rs
22
src/limit.rs
|
@ -7,11 +7,13 @@ use std::collections::{HashMap, VecDeque};
|
||||||
// request checks for all the request limiters that apply, and blocks if any of the limiters are 0
|
// request checks for all the request limiters that apply, and blocks if any of the limiters are 0
|
||||||
|
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
|
#[derive(Debug)]
|
||||||
pub struct TypedRequest {
|
pub struct TypedRequest {
|
||||||
request: RequestBuilder,
|
request: RequestBuilder,
|
||||||
limit_type: LimitType,
|
limit_type: LimitType,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Debug)]
|
||||||
pub struct LimitedRequester {
|
pub struct LimitedRequester {
|
||||||
http: Client,
|
http: Client,
|
||||||
requests: VecDeque<TypedRequest>,
|
requests: VecDeque<TypedRequest>,
|
||||||
|
@ -186,3 +188,21 @@ impl LimitedRequester {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use crate::URLBundle;
|
||||||
|
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[tokio::test]
|
||||||
|
async fn test() {
|
||||||
|
let urls = URLBundle::new(
|
||||||
|
String::from("http://localhost:3001/api/"),
|
||||||
|
String::from("wss://localhost:3001/"),
|
||||||
|
String::from("http://localhost:3001/cdn"),
|
||||||
|
);
|
||||||
|
|
||||||
|
let requester = LimitedRequester::new(urls.api).await;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue