|
NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
限流过滤器 更多...
#include <http_filter.hpp>
Public 成员函数 | |
| rate_limit_filter (const size_t max_requests=100, const seconds window=seconds(60)) | |
| 构造函数 | |
| bool | pre_filter (http_request &request, http_response &response) override |
| 预处理方法 | |
| void | do_filter (http_request &request, http_response &response) override |
| 核心过滤方法 | |
| string | name () const override |
| 获取过滤器名称 | |
| void | cleanup_old_entries () |
| 清理过期的条目 | |
| Public 成员函数 继承自 http_filter | |
| virtual void | post_filter (http_request &request, http_response &response) |
| 后处理方法 | |
Public 属性 | |
| size_t | max_requests = 100 |
| 窗口内最大请求数 | |
| seconds | window_seconds {60} |
| 时间窗口 | |
|
inlineexplicit |
构造函数
| max_requests | 最大请求数 |
| window | 时间窗口 |
在文件 http_filter.hpp 第 287 行定义.
引用了 max_requests , 以及 window_seconds.
| void rate_limit_filter::cleanup_old_entries | ( | ) |
清理过期的条目
移除超过两个时间窗口未更新的客户端记录。
|
inlineoverridevirtual |
核心过滤方法
| request | HTTP请求 |
| response | HTTP响应 |
执行实际的过滤逻辑。通常由具体处理器实现, 中间件过滤器可能不实现此方法。
实现了 http_filter.
在文件 http_filter.hpp 第 295 行定义.
|
inlineoverridevirtual |
|
overridevirtual |
预处理方法
| request | HTTP请求 |
| response | HTTP响应 |
在请求处理前调用,可以检查请求、修改请求或提前返回响应。
重载 http_filter .