[🚀] downloader

This commit is contained in:
2024-07-31 17:02:30 +08:00
parent 55488a023e
commit 2415f59f7f
7 changed files with 742 additions and 0 deletions

View File

@ -0,0 +1,23 @@
package base
type Status int
const (
DownloadStatusReady Status = iota
DownloadStatusStart
DownloadStatusPause
DownloadStatusError
DownloadStatusDone
)
const (
HttpCodeOK = 200
HttpCodePartialContent = 206
HttpHeaderRange = "Range"
HttpHeaderContentLength = "Content-Length"
HttpHeaderContentRange = "Content-Range"
HttpHeaderContentDisposition = "Content-Disposition"
HttpHeaderRangeFormat = "bytes=%d-%d"
)

View File

@ -0,0 +1,37 @@
package base
// Request 下载请求
type Request struct {
// 下载链接
URL string
// 附加信息
Extra any
}
// Resource 资源信息
type Resource struct {
Req *Request
// 资源总大小
TotalSize int64
// 是否支持断点下载
Range bool
// 资源所包含的文件列表
Files []*FileInfo
}
// FileInfo 文件信息
type FileInfo struct {
Name string
Path string
Size int64
}
// Options 下载选项
type Options struct {
// 保存文件名
Name string
// 保存目录
Path string
// 并发连接数
Connections int
}