Categorygithub.com/vansante/go-dl-stream
modulepackage
1.0.0
Repository: https://github.com/vansante/go-dl-stream.git
Documentation: pkg.go.dev

# README

Go streaming download

This is a HTTP download library that writes a file its downloading to a file while also presenting an io.Writer so the download can be processed while being downloaded. Downloads are automatically resumed when necessary.

Documentation

Take a look at the autogenerated documentation:

https://godoc.org/github.com/vansante/go-dl-stream

TODO

  • Look at Modified and ETag headers to determine whether we are dealing with the same file
  • ???

# Functions

DefaultOptions are the default options used when no options are specified by users of the library.
DownloadStream downloads the file at the given URL to the filepath, while also sending a stream to the given writer while retrying any broken connections.
DownloadStreamOpts is the same as DownloadStream, but allows you to override the default options with own values.
FetchURLInfo does a HEAD request to see if the download URL is valid and returns the size of the content.

# Variables

ErrDownloadComplete is returned when a download is already completed.
ErrInconsistentDownload is returned when the Content-Length header is not equal to the bytes received.
ErrNoMoreRetries is returned when all retry attempts at downloading have failed.

# Structs

Options are a set of options used while downloading a stream.

# Interfaces

Logger is an optional interface used for outputting debug logging.