lolly/internal/http3/AGENTS.md
xfy d42844b2fa test(app,handler,server,http3): 补充单元测试覆盖率
- app: 添加信号处理、配置重载、日志重开测试
- handler/sendfile: 添加小文件、偏移量、错误情况测试
- server: 添加统计追踪、监听器、TLS配置测试
- http3: 新增 adapter 和 server 单元测试
- 格式修复: 末尾换行符、注释对齐
- 文档: AGENTS.md 添加 http3 模块说明

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-03 16:25:21 +08:00

44 lines
1.3 KiB
Markdown

<!-- Parent: ../AGENTS.md -->
<!-- Generated: 2026-04-03 | Updated: 2026-04-03 -->
# http3
## Purpose
HTTP/3 (QUIC) 协议支持模块,提供基于 quic-go 的 HTTP/3 服务器实现,与现有 fasthttp handler 集成。
## Key Files
| File | Description |
|------|-------------|
| `server.go` | HTTP/3 服务器核心实现(启动、停止、优雅关闭、统计) |
| `adapter.go` | fasthttp.RequestHandler 与 http.Handler 适配层 |
## For AI Agents
### Working In This Directory
- HTTP/3 需要 TLS 配置,必须与 `internal/ssl/` 模块配合使用
- 使用 quic-go 库实现 QUIC 协议
- 通过 Adapter 将 fasthttp handler 转换为标准库 http.Handler
- 配置结构体定义在 `internal/config/config.go``HTTP3Config`
### Testing Requirements
- 测试需要模拟 QUIC 连接
- 运行测试:`go test ./internal/http3/...`
### Common Patterns
- 使用 `sync.Pool` 复用 RequestCtx 对象
- 使用 `quic.ListenEarly` 创建 0-RTT 支持的监听器
- Alt-Svc 头用于告知客户端可使用 HTTP/3
## Dependencies
### Internal
- `rua.plus/lolly/internal/config` - HTTP3Config 配置结构
- `rua.plus/lolly/internal/logging` - 日志输出
### External
- `github.com/quic-go/quic-go` - QUIC 协议实现
- `github.com/quic-go/quic-go/http3` - HTTP/3 服务器
- `github.com/valyala/fasthttp` - HTTP 处理器接口
<!-- MANUAL: -->