xfy
abbc4a50dd
feat(proxy): 实现 Location/Refresh 头改写功能
- 新增 RedirectRewriter 改写器,支持三种模式:
- default: 动态匹配 targetURL 前缀并替换为客户端原始 host
- off: 禁用改写
- custom: 使用预编译规则列表匹配替换
- 实现 RewriteResponse 方法改写 Location(3xx 状态码)和 Refresh 头
- 实现 RewriteRefreshOnly 方法用于缓存响应路径(仅 Refresh)
- 支持正则匹配(~ 前缀)和大小写不敏感(~* 前缀)
- 支持变量展开($host, $scheme, $server_port 等)
- 添加 parseRefreshHeader 解析 Refresh 头格式(N; url=URL)
- 在 Proxy.ServeHTTP 中集成改写器调用:
- 保存 originalClientHost 用于 default 模式
- 缓存响应路径调用 RewriteRefreshOnly
- 正常响应路径调用 RewriteResponse
- 添加完整单元测试覆盖各模式和边界情况
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 17:01:30 +08:00
..
2026-04-03 14:07:42 +08:00
2026-04-13 10:58:57 +08:00
2026-04-10 09:40:37 +08:00
2026-04-13 16:40:50 +08:00
2026-04-13 16:15:31 +08:00
2026-04-10 15:29:21 +08:00
2026-04-13 17:38:59 +08:00
2026-04-15 17:01:30 +08:00
2026-04-15 17:01:30 +08:00
2026-04-15 17:01:30 +08:00
2026-04-13 16:50:14 +08:00
2026-04-13 16:50:14 +08:00
2026-04-13 16:40:50 +08:00
2026-04-13 09:26:48 +08:00
2026-04-13 16:15:31 +08:00