Documentation ¶
Index ¶
- Constants
- func DetectSize(targetURL, output string, showProgress bool) (total int64, rangeSupport bool, err error)
- func DownloadFileWithMultipleThread(targetURL, targetFilePath string, thread int, showProgress bool) (err error)
- func DownloadFileWithMultipleThreadKeepParts(targetURL, targetFilePath string, thread int, keepParts, showProgress bool) (err error)
- func DownloadWithContinue(targetURL, output string, index, continueAt, end int64, showProgress bool) (err error)
- func GetExternalIP() (string, error)
- func SetProxy(proxy, proxyAuth string, tr *http.Transport) (err error)
- type DownloadError
- type HTTPDownloader
- type ProgressIndicator
- type ReleaseAsset
- type ReleaseClient
- func (g *ReleaseClient) GetJCLIAsset(tagName string) (*ReleaseAsset, error)
- func (g *ReleaseClient) GetLatestAsset(acceptPreRelease bool) (*ReleaseAsset, error)
- func (g *ReleaseClient) GetLatestJCLIAsset() (*ReleaseAsset, error)
- func (g *ReleaseClient) GetLatestPreReleaseAsset(owner, repo string) (ra *ReleaseAsset, err error)
- func (g *ReleaseClient) GetLatestReleaseAsset(owner, repo string) (ra *ReleaseAsset, err error)
- func (g *ReleaseClient) GetReleaseAssetByTagName(owner, repo, tagName string) (ra *ReleaseAsset, err error)
- func (g *ReleaseClient) Init()
- type RetryClient
Constants ¶
const ( // ContentType is for the http header of content type ContentType = "Content-Type" // ApplicationForm is for the form submit ApplicationForm = "application/x-www-form-urlencoded" )
Variables ¶
This section is empty.
Functions ¶
func DetectSize ¶ added in v0.0.6
func DetectSize(targetURL, output string, showProgress bool) (total int64, rangeSupport bool, err error)
DetectSize returns the size of target resource
func DownloadFileWithMultipleThread ¶ added in v0.0.6
func DownloadFileWithMultipleThread(targetURL, targetFilePath string, thread int, showProgress bool) (err error)
DownloadFileWithMultipleThread downloads the files with multiple threads
func DownloadFileWithMultipleThreadKeepParts ¶ added in v0.0.8
func DownloadFileWithMultipleThreadKeepParts(targetURL, targetFilePath string, thread int, keepParts, showProgress bool) (err error)
DownloadFileWithMultipleThreadKeepParts downloads the files with multiple threads
func DownloadWithContinue ¶ added in v0.0.6
func DownloadWithContinue(targetURL, output string, index, continueAt, end int64, showProgress bool) (err error)
DownloadWithContinue downloads the files continuously
func GetExternalIP ¶
GetExternalIP returns an external ip of current machine
Types ¶
type DownloadError ¶
DownloadError represents the error of HTTP download
type HTTPDownloader ¶
type HTTPDownloader struct { TargetFilePath string URL string ShowProgress bool InsecureSkipVerify bool UserName string Password string Proxy string ProxyAuth string Header map[string]string // PreStart returns false will don't continue PreStart func(*http.Response) bool Thread int Title string Timeout int MaxAttempts int Debug bool RoundTripper http.RoundTripper }
HTTPDownloader is the downloader for http request
func (*HTTPDownloader) DownloadFile ¶
func (h *HTTPDownloader) DownloadFile() error
DownloadFile download a file with the progress
type ProgressIndicator ¶
type ProgressIndicator struct { Writer io.Writer Reader io.Reader Title string // bytes.Buffer Total float64 // contains filtered or unexported fields }
ProgressIndicator hold the progress of io operation
func (*ProgressIndicator) Init ¶
func (i *ProgressIndicator) Init()
Init set the default value for progress indicator
type ReleaseAsset ¶ added in v0.0.11
ReleaseAsset is the asset from GitHub release
type ReleaseClient ¶ added in v0.0.11
ReleaseClient is the client of jcli github
func (*ReleaseClient) GetJCLIAsset ¶ added in v0.0.11
func (g *ReleaseClient) GetJCLIAsset(tagName string) (*ReleaseAsset, error)
GetJCLIAsset returns the asset from a tag name
func (*ReleaseClient) GetLatestAsset ¶ added in v0.0.26
func (g *ReleaseClient) GetLatestAsset(acceptPreRelease bool) (*ReleaseAsset, error)
GetLatestAsset returns the latest release asset which can accept preRelease or not
func (*ReleaseClient) GetLatestJCLIAsset ¶ added in v0.0.11
func (g *ReleaseClient) GetLatestJCLIAsset() (*ReleaseAsset, error)
GetLatestJCLIAsset returns the latest jcli asset deprecated, please use GetLatestAsset instead
func (*ReleaseClient) GetLatestPreReleaseAsset ¶ added in v0.0.26
func (g *ReleaseClient) GetLatestPreReleaseAsset(owner, repo string) (ra *ReleaseAsset, err error)
GetLatestPreReleaseAsset returns the release asset that could be preRelease
func (*ReleaseClient) GetLatestReleaseAsset ¶ added in v0.0.11
func (g *ReleaseClient) GetLatestReleaseAsset(owner, repo string) (ra *ReleaseAsset, err error)
GetLatestReleaseAsset returns the latest release asset
func (*ReleaseClient) GetReleaseAssetByTagName ¶ added in v0.0.11
func (g *ReleaseClient) GetReleaseAssetByTagName(owner, repo, tagName string) (ra *ReleaseAsset, err error)
GetReleaseAssetByTagName returns the release asset by tag name
func (*ReleaseClient) Init ¶ added in v0.0.11
func (g *ReleaseClient) Init()
Init init the GitHub client
type RetryClient ¶ added in v0.0.22
RetryClient is the wrap of http.Client