taolib.testing.rate_limiter.violation_tracker#
Violation tracker for recording rate limit violations to MongoDB.
Classes#
违规记录追踪器。 |
Module Contents#
- class taolib.testing.rate_limiter.violation_tracker.ViolationTracker(mongo_collection: Any, ttl_days: int = 90)#
违规记录追踪器。
将超出限流阈值的请求记录到 MongoDB,用于后续分析和监控。
- 参数:
mongo_collection -- MongoDB 集合对象(motor 异步集合)
ttl_days -- 违规记录保留天数
- _collection#
- _ttl_days = 90#
- async record_violation(identifier: str, ip_address: str, path: str, method: str, request_count: int, limit: int, window_seconds: int, retry_after: int, user_id: str | None = None, user_agent: str | None = None) None#
记录违规请求。
- 参数:
identifier -- 用户标识符
ip_address -- IP 地址
path -- 请求路径
method -- HTTP 方法
request_count -- 窗口内请求数
limit -- 限流阈值
window_seconds -- 窗口大小
retry_after -- 建议重试秒数
user_id -- 用户 ID(如果已登录)
user_agent -- User-Agent 头