NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
rate_limit_filter类 参考final

限流过滤器 更多...

#include <http_filter.hpp>

类 rate_limit_filter 继承关系图:
[图例]

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}
 时间窗口

详细描述

限流过滤器

基于客户端IP限制请求频率,防止滥用。

在文件 http_filter.hpp269 行定义.

构造及析构函数说明

◆ rate_limit_filter()

rate_limit_filter::rate_limit_filter ( const size_t max_requests = 100,
const seconds window = seconds(60) )
inlineexplicit

构造函数

参数
max_requests最大请求数
window时间窗口

在文件 http_filter.hpp287 行定义.

引用了 max_requests , 以及 window_seconds.

成员函数说明

◆ cleanup_old_entries()

void rate_limit_filter::cleanup_old_entries ( )

清理过期的条目

移除超过两个时间窗口未更新的客户端记录。

◆ do_filter()

void rate_limit_filter::do_filter ( http_request & request,
http_response & response )
inlineoverridevirtual

核心过滤方法

参数
requestHTTP请求
responseHTTP响应

执行实际的过滤逻辑。通常由具体处理器实现, 中间件过滤器可能不实现此方法。

实现了 http_filter.

在文件 http_filter.hpp295 行定义.

◆ name()

string rate_limit_filter::name ( ) const
inlineoverridevirtual

获取过滤器名称

返回
过滤器名称

重载 http_filter .

在文件 http_filter.hpp296 行定义.

◆ pre_filter()

bool rate_limit_filter::pre_filter ( http_request & request,
http_response & response )
overridevirtual

预处理方法

参数
requestHTTP请求
responseHTTP响应
返回
返回false表示中断后续处理

在请求处理前调用,可以检查请求、修改请求或提前返回响应。

重载 http_filter .


该类的文档由以下文件生成: