Fix rate limiting issue in example.cpp by adding delays between API calls

This commit is contained in:
mbusc
2025-08-28 21:49:34 +02:00
parent 3b4d591eff
commit 77879e6521

View File

@ -3,6 +3,14 @@
#include <cstring> #include <cstring>
#include <string> #include <string>
#include <cstdlib> #include <cstdlib>
#include <chrono>
#include <thread>
// Helper function to wait between API calls to avoid rate limiting
void wait_between_calls() {
std::cout << "[privatebinapi] Waiting 12 seconds to avoid rate limiting..." << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(12));
}
int main(int argc, char* argv[]) { int main(int argc, char* argv[]) {
std::cout << "PrivateBin API C++ DLL Example" << std::endl; std::cout << "PrivateBin API C++ DLL Example" << std::endl;
@ -129,6 +137,9 @@ int main(int argc, char* argv[]) {
std::cout << "✗ Plaintext paste failed. Error code: " << result << std::endl; std::cout << "✗ Plaintext paste failed. Error code: " << result << std::endl;
} }
// Wait between API calls to avoid rate limiting
wait_between_calls();
// Test 2: Syntax highlighting format // Test 2: Syntax highlighting format
std::cout << "\n2. Testing syntax highlighting format..." << std::endl; std::cout << "\n2. Testing syntax highlighting format..." << std::endl;
char* code_paste_url = nullptr; char* code_paste_url = nullptr;
@ -167,6 +178,9 @@ int main() {
std::cout << "✗ Syntax highlighting paste failed. Error code: " << result << std::endl; std::cout << "✗ Syntax highlighting paste failed. Error code: " << result << std::endl;
} }
// Wait between API calls to avoid rate limiting
wait_between_calls();
// Test 3: Markdown format // Test 3: Markdown format
std::cout << "\n3. Testing markdown format..." << std::endl; std::cout << "\n3. Testing markdown format..." << std::endl;
char* markdown_paste_url = nullptr; char* markdown_paste_url = nullptr;
@ -213,6 +227,9 @@ int result = create_paste(server_url, content, password, expiration, format,
std::cout << "✗ Markdown paste failed. Error code: " << result << std::endl; std::cout << "✗ Markdown paste failed. Error code: " << result << std::endl;
} }
// Wait between API calls to avoid rate limiting
wait_between_calls();
// Test 4: Interactive format selection // Test 4: Interactive format selection
std::cout << "\n4. Interactive format selection..." << std::endl; std::cout << "\n4. Interactive format selection..." << std::endl;
char* interactive_paste_url = nullptr; char* interactive_paste_url = nullptr;