Orbit Framework
An ultra-modern, asynchronous, cross-platform C++ Web Framework.
Loading...
Searching...
No Matches
middleware::RateLimiter Class Reference

Middleware for in-memory rate limiting. More...

#include <RateLimiter.hpp>

Public Member Functions

 RateLimiter (size_t max_requests, std::chrono::seconds window)
 Constructs a new Rate Limiter.
 
bool operator() (http::HttpRequest &req, std::shared_ptr< http::ResponseWriter > writer)
 Middleware execution operator.
 

Detailed Description

Middleware for in-memory rate limiting.

Constructor & Destructor Documentation

◆ RateLimiter()

middleware::RateLimiter::RateLimiter ( size_t  max_requests,
std::chrono::seconds  window 
)

Constructs a new Rate Limiter.

Parameters
max_requestsMaximum number of requests allowed in the time window.
windowThe time window for rate limiting.

Member Function Documentation

◆ operator()()

bool middleware::RateLimiter::operator() ( http::HttpRequest req,
std::shared_ptr< http::ResponseWriter writer 
)

Middleware execution operator.

Parameters
reqThe HTTP request.
writerThe HTTP response writer.
Returns
true If the request is allowed.
false If the request is rate-limited.

The documentation for this class was generated from the following files: