From c055e61afa468eb38d721ceb6559691a2c33ab49 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Tue, 14 May 2024 19:57:04 +0200 Subject: [PATCH] Add actual Rate-Limiting --- generate.sh | 17 +++++++++++++++-- patches/Adjustable-Client.rs | 10 ++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 patches/Adjustable-Client.rs diff --git a/generate.sh b/generate.sh index e6a7de2..58589ce 100755 --- a/generate.sh +++ b/generate.sh @@ -21,10 +21,23 @@ find src -type f -exec sed -i '/VRChat API Banner/d' {} \; # Remove openapi version in every file find src -type f -exec sed -i '/The version of the OpenAPI document/d' {} \; -# Cookie storage -sed -i 's/Client::new()/Client::builder().cookie_store(true).build().unwrap()/g' src/apis/configuration.rs +# Cookie storage & Rate Limiting +sed -i 's/reqwest::Client::new()/std::sync::Arc::new(reqwest::Client::builder().cookie_store(true).build().unwrap())/g' src/apis/configuration.rs sed -i 's/features = \["json", "multipart"\]/features = \["json", "cookies", "multipart"\]/g' Cargo.toml +shopt -s extglob +sed -i 's/Configuration/Configuration + Clone + core::fmt::Debug>/g' src/apis/!(configuration).rs +shopt -u extglob + +sed -i 's/struct Configuration/struct Configuration/g' src/apis/configuration.rs +sed -i 's/pub client: reqwest::Client,/pub client: T,/g' src/apis/configuration.rs +sed -i 's/impl Configuration/impl Configuration/g' src/apis/configuration.rs +sed -i 's/fn new() -> Configuration/fn new() -> Configuration>/g' src/apis/configuration.rs +sed -i 's/impl Default for Configuration/impl Default for Configuration>/g' src/apis/configuration.rs + + +#cat patches/Adjustable-Client.rs >> src/apis/configuration.rs + #Fix example printf "\n[dev-dependencies]\ntokio = { version = '1', features = ['macros', 'rt-multi-thread'] }" >> Cargo.toml diff --git a/patches/Adjustable-Client.rs b/patches/Adjustable-Client.rs new file mode 100644 index 0000000..3ec41a0 --- /dev/null +++ b/patches/Adjustable-Client.rs @@ -0,0 +1,10 @@ +#[derive(Debug)] +struct ClientWrapper(reqwest::Client); +impl std::ops::Deref for ClientWrapper{ + type Target = reqwest::Client; + fn deref(&self) -> &Self::Target { + &self.0 + } +} +pub trait Client: std::ops::Deref + std::fmt::Debug {} +impl Client for T {} \ No newline at end of file