Documentation ¶
Overview ¶
Package net provides the core download functions
Package net provides net related functions
Index ¶
- Constants
- func DetectSizeWithRoundTripper(targetURL, output string, showProgress, noProxy, insecureSkipVerify bool, ...) (total int64, rangeSupport bool, err error)
- func DownloadFileWithMultipleThreadKeepParts(targetURL, targetFilePath string, thread int, keepParts, showProgress bool) (err error)
- func GetCurrentLine() int
- func SetProxy(proxy, proxyAuth string, tr *http.Transport) (err error)
- type ContinueDownloader
- func (c *ContinueDownloader) DownloadWithContinue(targetURL, output string, index, continueAt, end int64, showProgress bool) (err error)
- func (c *ContinueDownloader) GetSuggestedFilename() string
- func (c *ContinueDownloader) WithContext(ctx context.Context) *ContinueDownloader
- func (c *ContinueDownloader) WithInsecureSkipVerify(insecureSkipVerify bool) *ContinueDownloader
- func (c *ContinueDownloader) WithRoundTripper(roundTripper http.RoundTripper) *ContinueDownloader
- func (c *ContinueDownloader) WithTimeout(timeout time.Duration) *ContinueDownloader
- func (c *ContinueDownloader) WithoutProxy(noProxy bool) *ContinueDownloader
- type DownloadError
- type FakeReader
- type HTTPDownloader
- type MultiThreadDownloader
- func (d *MultiThreadDownloader) Download(targetURL, targetFilePath string, thread int) (err error)
- func (d *MultiThreadDownloader) GetSuggestedFilename() string
- func (d *MultiThreadDownloader) WithInsecureSkipVerify(insecureSkipVerify bool) *MultiThreadDownloader
- func (d *MultiThreadDownloader) WithKeepParts(keepParts bool) *MultiThreadDownloader
- func (d *MultiThreadDownloader) WithRoundTripper(roundTripper http.RoundTripper) *MultiThreadDownloader
- func (d *MultiThreadDownloader) WithShowProgress(showProgress bool) *MultiThreadDownloader
- func (d *MultiThreadDownloader) WithTimeout(timeout time.Duration) *MultiThreadDownloader
- func (d *MultiThreadDownloader) WithoutProxy(noProxy bool) *MultiThreadDownloader
- type ProgressIndicator
- type RetryClient
- type SuggestedFilenameAware
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 DetectSizeWithRoundTripper ¶ added in v0.0.68
func DetectSizeWithRoundTripper(targetURL, output string, showProgress, noProxy, insecureSkipVerify bool, roundTripper http.RoundTripper, timeout time.Duration) (total int64, rangeSupport bool, err error)
DetectSizeWithRoundTripper returns the size of target resource
func DownloadFileWithMultipleThreadKeepParts ¶
func DownloadFileWithMultipleThreadKeepParts(targetURL, targetFilePath string, thread int, keepParts, showProgress bool) (err error)
DownloadFileWithMultipleThreadKeepParts downloads the files with multiple threads
func GetCurrentLine ¶ added in v0.0.83
func GetCurrentLine() int
GetCurrentLine returns the current line
Types ¶
type ContinueDownloader ¶ added in v0.0.32
type ContinueDownloader struct { Timeout time.Duration Context context.Context // contains filtered or unexported fields }
ContinueDownloader is a downloader which support continuously download
func (*ContinueDownloader) DownloadWithContinue ¶ added in v0.0.32
func (c *ContinueDownloader) DownloadWithContinue(targetURL, output string, index, continueAt, end int64, showProgress bool) (err error)
DownloadWithContinue downloads the files continuously
func (*ContinueDownloader) GetSuggestedFilename ¶ added in v0.0.81
func (c *ContinueDownloader) GetSuggestedFilename() string
GetSuggestedFilename returns the suggested filename
func (*ContinueDownloader) WithContext ¶ added in v0.0.83
func (c *ContinueDownloader) WithContext(ctx context.Context) *ContinueDownloader
WithContext sets the context
func (*ContinueDownloader) WithInsecureSkipVerify ¶ added in v0.0.81
func (c *ContinueDownloader) WithInsecureSkipVerify(insecureSkipVerify bool) *ContinueDownloader
WithInsecureSkipVerify set if skip the insecure verify
func (*ContinueDownloader) WithRoundTripper ¶ added in v0.0.69
func (c *ContinueDownloader) WithRoundTripper(roundTripper http.RoundTripper) *ContinueDownloader
WithRoundTripper set WithRoundTripper
func (*ContinueDownloader) WithTimeout ¶ added in v0.0.83
func (c *ContinueDownloader) WithTimeout(timeout time.Duration) *ContinueDownloader
WithTimeout sets the timeout
func (*ContinueDownloader) WithoutProxy ¶ added in v0.0.69
func (c *ContinueDownloader) WithoutProxy(noProxy bool) *ContinueDownloader
WithoutProxy indicate no HTTP proxy use
type DownloadError ¶
DownloadError represents the error of HTTP download
type FakeReader ¶ added in v0.0.77
type FakeReader struct {
ExpectErr error
}
FakeReader is a fake reader for the test purpose
type HTTPDownloader ¶
type HTTPDownloader struct { TargetFilePath string URL string ShowProgress bool InsecureSkipVerify bool Context context.Context UserName string Password string NoProxy bool 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 time.Duration Debug bool RoundTripper http.RoundTripper // contains filtered or unexported fields }
HTTPDownloader is the downloader for http request
func (*HTTPDownloader) DownloadFile ¶
func (h *HTTPDownloader) DownloadFile() error
DownloadFile download a file with the progress
func (*HTTPDownloader) GetSuggestedFilename ¶ added in v0.0.81
func (h *HTTPDownloader) GetSuggestedFilename() string
GetSuggestedFilename returns the suggested filename which comes from the HTTP response header. Returns empty string if the filename is same with the given name.
type MultiThreadDownloader ¶ added in v0.0.69
type MultiThreadDownloader struct {
// contains filtered or unexported fields
}
MultiThreadDownloader is a download with multi-thread
func (*MultiThreadDownloader) Download ¶ added in v0.0.69
func (d *MultiThreadDownloader) Download(targetURL, targetFilePath string, thread int) (err error)
Download starts to download the target URL
func (*MultiThreadDownloader) GetSuggestedFilename ¶ added in v0.0.81
func (d *MultiThreadDownloader) GetSuggestedFilename() string
GetSuggestedFilename returns the suggested filename
func (*MultiThreadDownloader) WithInsecureSkipVerify ¶ added in v0.0.81
func (d *MultiThreadDownloader) WithInsecureSkipVerify(insecureSkipVerify bool) *MultiThreadDownloader
WithInsecureSkipVerify set if skip the insecure verify
func (*MultiThreadDownloader) WithKeepParts ¶ added in v0.0.69
func (d *MultiThreadDownloader) WithKeepParts(keepParts bool) *MultiThreadDownloader
WithKeepParts indicates if keeping the part files
func (*MultiThreadDownloader) WithRoundTripper ¶ added in v0.0.69
func (d *MultiThreadDownloader) WithRoundTripper(roundTripper http.RoundTripper) *MultiThreadDownloader
WithRoundTripper sets RoundTripper
func (*MultiThreadDownloader) WithShowProgress ¶ added in v0.0.69
func (d *MultiThreadDownloader) WithShowProgress(showProgress bool) *MultiThreadDownloader
WithShowProgress indicate if show the download progress
func (*MultiThreadDownloader) WithTimeout ¶ added in v0.0.83
func (d *MultiThreadDownloader) WithTimeout(timeout time.Duration) *MultiThreadDownloader
WithTimeout sets the timeout
func (*MultiThreadDownloader) WithoutProxy ¶ added in v0.0.69
func (d *MultiThreadDownloader) WithoutProxy(noProxy bool) *MultiThreadDownloader
WithoutProxy indicates not use HTTP proxy
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) Close ¶ added in v0.0.32
func (i ProgressIndicator) Close()
Close shutdowns the ui process
func (*ProgressIndicator) Init ¶
func (i *ProgressIndicator) Init()
Init set the default value for progress indicator
func (*ProgressIndicator) Read ¶
func (i *ProgressIndicator) Read(p []byte) (n int, err error)
Read reads the progress
func (*ProgressIndicator) Write ¶
func (i *ProgressIndicator) Write(p []byte) (n int, err error)
Write writes the progress See also https://en.wikipedia.org/wiki/ANSI_escape_code#Sequence_elements
type RetryClient ¶
RetryClient is the wrap of http.Client
func NewRetryClient ¶ added in v0.0.83
func NewRetryClient(client http.Client) *RetryClient
NewRetryClient creates the instance of RetryClient
type SuggestedFilenameAware ¶ added in v0.0.81
type SuggestedFilenameAware interface {
GetSuggestedFilename() string
}
SuggestedFilenameAware is the interface for getting suggested filename