|
NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
|
令牌桶HTTP限流过滤器 更多...
#include <rate_limiter.hpp>
Public 成员函数 | |
| bool | pre_filter (http_request &request, http_response &response) override |
| 预处理方法 | |
| void | do_filter (http_request &request, http_response &response) override |
| 核心过滤方法 | |
| string | name () const override |
| 获取过滤器名称 | |
| Public 成员函数 继承自 neforce::http::http_filter | |
| virtual void | post_filter (http_request &request, http_response &response) |
| 后处理方法 | |
Public 属性 | |
| double | default_rate {10.0} |
| 默认每秒请求数(每IP) | |
| double | default_burst {20.0} |
| 默认突发容量(每IP) | |
| bool | per_route {false} |
| 是否对每个路由单独限流 | |
| bool | enabled {true} |
| 是否启用 | |
令牌桶HTTP限流过滤器
在pre_filter阶段基于客户端IP和路由进行限流。 默认配置:每秒10请求,突发20请求,每IP独立限流。
在文件 rate_limiter.hpp 第 135 行定义.
|
inlineoverridevirtual |
核心过滤方法
| request | HTTP请求 |
| response | HTTP响应 |
执行实际的过滤逻辑。通常由具体处理器实现, 中间件过滤器可能不实现此方法。
实现了 neforce::http::http_filter.
在文件 rate_limiter.hpp 第 152 行定义.
|
inlinenodiscardoverridevirtual |
|
overridevirtual |
预处理方法
| request | HTTP请求 |
| response | HTTP响应 |
在请求处理前调用,可以检查请求、修改请求或提前返回响应。