# Functions
Fetch fetchs a file via DefaultSchemes.
IsURLError returns true iff err is a URLError.
LazyFetch calls LazyFetch on DefaultSchemes.
NewHTTPClient returns a new HTTP FileScheme based on the given http.Client.
NewMockScheme creates a new MockScheme with the given scheme name.
NewTFTPClient returns a new TFTP client based on the given tftp.ClientOpt.
RegisterScheme calls DefaultSchemes.Register.
# Variables
DefaultHTTPClient is the default HTTP FileScheme.
DefaultSchemes are the schemes supported by default.
DefaultTFTPClient is the default TFTP FileScheme.
ErrNoSuchFile means there is no file record in the mock.
ErrNoSuchHost means there is no host record in the mock.
ErrNoSuchScheme is returned by Schemes.Fetch and Schemes.LazyFetch if there is no registered FileScheme implementation for the given URL scheme.
ErrWrongScheme means the wrong mocked scheme was used.
# Structs
HTTPClient implements FileScheme for HTTP files.
HTTPClientWithRetries implements FileScheme for HTTP files and automatically retries (with backoff) upon an error.
LocalFileClient implements FileScheme for files on disk.
MockScheme is a Scheme mock for testing.
SchemeWithRetries wraps a FileScheme and automatically retries (with backoff) when Fetch returns a non-nil err.
TFTPClient implements FileScheme for TFTP files.
URLError is an error involving URLs.
# Interfaces
FileScheme represents the implementation of a URL scheme and gives access to fetching files of that scheme.
# Type aliases
Schemes is a map of URL scheme identifier -> implementation that can fetch a file for that scheme.