376b9fd33c
feat(gjson): add Lua JSON encoding/decoding library
...
Add gjson package providing high-performance JSON encoding/decoding
for gopher-lua with lua-cjson API compatibility. Uses goccy/go-json
as the underlying JSON engine.
Features:
- Full lua-cjson API compatibility for OpenResty migration
- Sparse array detection and handling
- Maximum nesting depth control for encode/decode
- Number precision control
- Independent configuration instances via gjson.new()
- gjson.null sentinel for JSON null values
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-09 15:44:31 +08:00
6e6659e6df
chore(deps): bump fasthttp to 1.71.0 and compress to 1.18.6
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 14:39:03 +08:00
dbeb2217a5
chore(deps): 升级 websocket 为直接依赖,更新 zerolog 等版本
...
- gorilla/websocket 从间接依赖改为直接依赖
- zerolog v1.35.0 → v1.35.1
- mattn/go-isatty v0.0.21 → v0.0.22
- oschwald/maxminddb-golang v1.13.0 → v1.13.1
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-29 11:04:30 +08:00
66060928d1
deps: 添加 gorilla/websocket 依赖
...
用于 WebSocket E2E 测试。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-23 14:51:11 +08:00
ad88770472
deps: 添加 testcontainers 测试依赖
...
- 添加 testcontainers-go 用于 E2E 测试
- 引入 Docker 容器化测试基础设施依赖
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-22 14:59:01 +08:00
f31e8afeff
feat(lua): 添加 balancer_by_lua 动态负载均衡功能
...
- 新增 BalancerByLuaConfig 配置,支持 Lua 脚本控制后端选择
- 实现 api_balancer.go Lua API,暴露 set_current_peer 等函数
- Proxy 集成 Lua 引擎,fallback 到标准算法确保可靠性
- 添加负载均衡算法常量提取,消除魔法字符串
- 支持超时控制和备用算法配置
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 16:14:59 +08:00
326340fe4c
chore(deps): 更新依赖版本
...
- brotli: 1.2.0 -> 1.2.1
- compress: 1.18.2 -> 1.18.5
- fasthttp: 1.69.0 -> 1.70.0
- crypto: 0.49.0 -> 0.50.0
- net: 0.51.0 -> 0.53.0
- isatty: 0.0.20 -> 0.0.21
- gotils: 更新至最新版本
- 移除 goleak 依赖(不再需要)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 09:51:22 +08:00
7ebf8087e4
chore(deps): 添加 goleak 间接依赖
...
用于 goroutine 泄漏检测测试。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 17:59:22 +08:00
7a66e350f0
feat(lua): 添加 Lua 脚本嵌入支持
...
- 基于 gopher-lua 实现类似 OpenResty 的脚本嵌入能力
- LuaEngine: server 级单 LState + 请求级临时协程
- LuaContext: 请求上下文,变量存储和阶段管理
- LuaCoroutine: 沙箱隔离,Yield/Resume 循环,执行超时
- CodeCache: 字节码缓存,LRU 淘汰 + TTL 过期
- 新增 testify 用于测试断言
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 14:19:03 +08:00
c95f474539
feat(variable): 新增变量系统支持
...
新增 internal/variable 包,提供 Nginx 风格的变量展开功能:
- 支持 $remote_addr、$host、$uri、$args 等 30+ 内置变量
- 使用 sync.Pool 优化 VariableContext 分配
- 支持 set_response_info 存储响应状态信息
添加 github.com/google/uuid 依赖用于请求 ID 生成。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 11:36:49 +08:00
d6367a1c38
feat(http3,docs,middleware): 实现 Phase 9 HTTP/3 与性能优化扩展
...
- 新增 HTTP/3 (QUIC) 服务器支持,集成到 App 生命周期管理
- 新增 nginx 内置变量速查表文档
- 完善多篇 nginx 文档(代理、安全、流、限流、HTTP/2/3、核心事件)
- 新增一致性哈希负载均衡、gzip_static、滑动窗口限流中间件
- 扩展配置支持 HTTP/3 和日志格式选项
Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-03 15:39:06 +08:00
d4998e5634
feat(ssl,security): 实现 SSL/TLS 和安全中间件模块
...
- ssl: TLS 配置管理、证书加载、SNI 支持、现代安全默认值
- security/auth: HTTP Basic Auth (bcrypt/argon2id 密码哈希)
- security/ratelimit: 令牌桶限流、连接数限制
- security/access: IP 访问控制 (CIDR allow/deny)
- security/headers: 安全响应头 (X-Frame-Options, CSP, HSTS 等)
Phase 4 完成
Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-03 09:53:18 +08:00
b445bca96a
feat(server): 实现基础 HTTP 服务器核心功能
...
使用 fasthttp 替代 net/http,实现 Phase 2 核心模块:
- HTTP 服务器:fasthttp.Server 配置超时和连接限制
- 路由系统:fasthttp/router 基于 radix tree 匹配
- 静态文件服务:安全检查、索引文件支持
- 日志系统:zerolog 结构化日志
- 中间件框架:链式组合接口
- 虚拟主机管理:按 Host 头选择处理器
Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-02 15:23:54 +08:00
a265597d14
feat(config): 实现配置加载模块和 CLI 参数解析
...
- 添加 internal/config 包,包含配置结构定义、默认值和验证逻辑
- 实现 CLI 参数解析 (-c/--config, -v, --generate-config)
- 添加 yaml.v3 依赖用于配置文件解析
- 简化 plan.md 中的配置测试示例
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 14:07:08 +08:00