base

package
v1.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 11, 2023 License: GPL-3.0 Imports: 2 Imported by: 3

Documentation

Index

Constants

View Source
const (
	HttpCodeOK             = 200
	HttpCodePartialContent = 206

	HttpHeaderRange              = "Range"
	HttpHeaderContentLength      = "Content-Length"
	HttpHeaderContentRange       = "Content-Range"
	HttpHeaderContentDisposition = "Content-Disposition"

	HttpHeaderRangeFormat = "bytes=%d-%d"
)

Variables

View Source
var (
	NotFound  = errors.New("not found")
	BadParams = errors.New("bad params")
)

Functions

func ParseOptsExtra

func ParseOptsExtra[E any](opts *Options) error

func ParseReqExtra

func ParseReqExtra[E any](req *Request) error

Types

type FileInfo

type FileInfo struct {
	Name string `json:"name"`
	Path string `json:"path"`
	Size int64  `json:"size"`
}

type Options

type Options struct {
	// Download file name
	Name string `json:"name"`
	// Download file path
	Path string `json:"path"`
	// Select file indexes to download
	SelectFiles []int `json:"selectFiles"`
	// Extra info for specific fetcher
	Extra any `json:"extra"`
}

Options for download

type Request

type Request struct {
	URL   string `json:"url"`
	Extra any    `json:"extra"`
}

Request download request

type Resource

type Resource struct {
	Name string `json:"name"`
	Size int64  `json:"size"`
	// is support range download
	Range   bool   `json:"range"`
	RootDir string `json:"rootDir"`
	// file list
	Files []*FileInfo `json:"files"`
	Hash  string      `json:"hash"`
}

Resource download resource

type Status

type Status string
const (
	DownloadStatusReady   Status = "ready" // task create but not start
	DownloadStatusRunning Status = "running"
	DownloadStatusPause   Status = "pause"
	DownloadStatusWait    Status = "wait" // task is wait for running
	DownloadStatusError   Status = "error"
	DownloadStatusDone    Status = "done"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL