Implement resumable download queue (T-301)

This commit is contained in:
ila
2026-07-16 19:49:06 +08:00
parent 2d302b731a
commit 8dad40f934
27 changed files with 5498 additions and 18 deletions
+1
View File
@@ -6,3 +6,4 @@
- 测试若需要签名,使用测试代码中明确标注的专用测试密钥。
- 恶意样例用于证明解析器和安全边界会拒绝输入,不得被发布流程消费。
- `catalog/manifest-valid-payload.json` 同时作为 manifest v1 强类型解析与目标过滤的公开虚构样例;包哈希与签名只保证格式合法,不对应真实下载物。
- `download/`:T-301 在运行时生成 HTTPS Range、断连、并发和恢复样例,不保存真实下载包。
+13
View File
@@ -0,0 +1,13 @@
# 下载测试数据
T-301 的 HTTP Range、断连、错误响应和并发阻塞样例由 Go 测试使用
`httptest` 与内存 Transport 在运行时生成,避免提交真实 URL 或大型二进制包。
覆盖场景包括:
- 新下载 200 与续传 206。
- Content-Range 起点/实体 validator 不匹配。
- 服务端忽略 Range 后从 0 安全重下。
- 连接中断后保留 `.part` 并按实际长度续传。
- 默认并发 2、暂停、取消、重试、完整 part 同进程 finalize 和崩溃恢复。
- observer 投递失败、body close 错误和活跃 `.part` 文件身份替换。