NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
载入中...
搜索中...
未找到
neforce::http::token_bucket_filter类 参考final

令牌桶HTTP限流过滤器 更多...

#include <rate_limiter.hpp>

类 neforce::http::token_bucket_filter 继承关系图:
[图例]

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.hpp135 行定义.

成员函数说明

◆ do_filter()

void neforce::http::token_bucket_filter::do_filter ( http_request & request,
http_response & response )
inlineoverridevirtual

核心过滤方法

参数
requestHTTP请求
responseHTTP响应

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

实现了 neforce::http::http_filter.

在文件 rate_limiter.hpp152 行定义.

◆ name()

string neforce::http::token_bucket_filter::name ( ) const
inlinenodiscardoverridevirtual

获取过滤器名称

返回
过滤器名称

重载 neforce::http::http_filter .

在文件 rate_limiter.hpp156 行定义.

◆ pre_filter()

bool neforce::http::token_bucket_filter::pre_filter ( http_request & request,
http_response & response )
overridevirtual

预处理方法

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

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

重载 neforce::http::http_filter .


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