From 9855efe15e7760d7090264ddb650571a3e641948 Mon Sep 17 00:00:00 2001 From: bitfl0wer Date: Fri, 14 Apr 2023 23:38:36 +0200 Subject: [PATCH] Derive Debug, start debugging --- src/api/policies/instance/limits.rs | 4 ++-- src/limit.rs | 22 +++++++++++++++++++++- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/api/policies/instance/limits.rs b/src/api/policies/instance/limits.rs index bbb759f..a283049 100644 --- a/src/api/policies/instance/limits.rs +++ b/src/api/policies/instance/limits.rs @@ -5,7 +5,7 @@ pub mod limits { use serde::{Deserialize, Serialize}; use serde_json::from_str; - #[derive(Clone, Copy, Eq, Hash, PartialEq)] + #[derive(Clone, Copy, Eq, Hash, PartialEq, Debug)] pub enum LimitType { AuthRegister, AuthLogin, @@ -134,7 +134,7 @@ pub mod limits { pub absoluteRate: AbsoluteRate, } - #[derive(Clone, Copy)] + #[derive(Clone, Copy, Debug)] pub struct Limit { pub bucket: LimitType, pub limit: u64, diff --git a/src/limit.rs b/src/limit.rs index 7401487..49b43d7 100644 --- a/src/limit.rs +++ b/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 #[allow(dead_code)] - +#[derive(Debug)] pub struct TypedRequest { request: RequestBuilder, limit_type: LimitType, } + +#[derive(Debug)] pub struct LimitedRequester { http: Client, requests: VecDeque, @@ -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; + } +}