Documentation
¶
Index ¶
- Constants
- Variables
- func CleanDigestAlgorithmName(name string) string
- func ContentsFromZip(ctx context.Context, archivePath string, paths ...string) (map[string]string, error)
- func ExtractFromZipToUniqueTempFile(ctx context.Context, archivePath, dir string, paths ...string) (map[string]Opener, error)
- func ExtractGlobsFromTarToUniqueTempFile(ctx context.Context, archivePath, dir string, globs ...string) (map[string]Opener, error)
- func Hashers(names ...string) ([]crypto.Hash, error)
- func IdentifyArchive(ctx context.Context, path string, r io.Reader) (archives.Format, io.Reader, error)
- func NewDigestsFromFile(ctx context.Context, closer io.ReadCloser, hashes []crypto.Hash) ([]file.Digest, error)
- func NormalizeHashes(hashes []crypto.Hash) []crypto.Hash
- func SafeJoin(prefix string, dest ...string) (string, error)
- func TraverseFilesInTar(ctx context.Context, archivePath string, visitor archives.FileHandler) error
- func TraverseFilesInZip(ctx context.Context, archivePath string, visitor archives.FileHandler, ...) error
- func UnzipToDir(ctx context.Context, archivePath, targetDir string) error
- func WalkDiskDir(fsys filesystem.FileSystem, root string, fn WalkDiskDirFunc) error
- type Getter
- type HashiGoGetter
- type Opener
- type WalkDiskDirFunc
- type ZipFileManifest
Constants ¶
const ( KB = 1 << (10 * iota) MB GB )
Variables ¶
var (
ErrNonArchiveSource = fmt.Errorf("non-archive sources are not supported for directory destinations")
)
Functions ¶
func CleanDigestAlgorithmName ¶ added in v0.85.0
func ContentsFromZip ¶
func ContentsFromZip(ctx context.Context, archivePath string, paths ...string) (map[string]string, error)
ContentsFromZip extracts select paths for the given archive and returns a set of string contents for each path.
func ExtractFromZipToUniqueTempFile ¶
func ExtractFromZipToUniqueTempFile(ctx context.Context, archivePath, dir string, paths ...string) (map[string]Opener, error)
ExtractFromZipToUniqueTempFile extracts select paths for the given archive to a temporary directory, returning file openers for each file extracted.
func ExtractGlobsFromTarToUniqueTempFile ¶ added in v0.35.0
func ExtractGlobsFromTarToUniqueTempFile(ctx context.Context, archivePath, dir string, globs ...string) (map[string]Opener, error)
ExtractGlobsFromTarToUniqueTempFile extracts paths matching the given globs within the given archive to a temporary directory, returning file openers for each file extracted.
func IdentifyArchive ¶ added in v1.38.1
func IdentifyArchive(ctx context.Context, path string, r io.Reader) (archives.Format, io.Reader, error)
IdentifyArchive is a wrapper around archives.Identify that handles compound extension aliases (like .tgz -> .tar.gz) transparently. It first attempts filename-based detection using the alias map, and falls back to content-based detection if needed.
This function is a drop-in replacement for archives.Identify that centralizes the compound alias handling logic in one place.
func NewDigestsFromFile ¶ added in v0.85.0
func SafeJoin ¶ added in v1.38.0
SafeJoin ensures that any destinations do not resolve to a path above the prefix path.
func TraverseFilesInTar ¶ added in v1.38.0
func TraverseFilesInTar(ctx context.Context, archivePath string, visitor archives.FileHandler) error
TraverseFilesInTar enumerates all paths stored within a tar archive using the visitor pattern.
func TraverseFilesInZip ¶
func TraverseFilesInZip(ctx context.Context, archivePath string, visitor archives.FileHandler, paths ...string) error
TraverseFilesInZip enumerates all paths stored within a zip archive using the visitor pattern.
func UnzipToDir ¶
UnzipToDir extracts a zip archive to a target directory.
func WalkDiskDir ¶ added in v1.28.0
func WalkDiskDir(fsys filesystem.FileSystem, root string, fn WalkDiskDirFunc) error
WalkDiskDir walks the file tree within the go-diskfs filesystem at root, calling fn for each file or directory in the tree, including root. This is meant to mimic the behavior of fs.WalkDir in the standard library.
Types ¶
type Getter ¶ added in v1.28.0
type Getter interface {
// GetFile downloads the give URL into the given path. The URL must reference a single file.
GetFile(dst, src string, monitor ...*progress.Manual) error
// GetToDir downloads the resource found at the `src` URL into the given `dst` directory.
// The directory must already exist, and the remote resource MUST BE AN ARCHIVE (e.g. `.tar.gz`).
GetToDir(dst, src string, monitor ...*progress.Manual) error
}
type HashiGoGetter ¶ added in v1.28.0
type HashiGoGetter struct {
// contains filtered or unexported fields
}
func NewGetter ¶ added in v1.28.0
func NewGetter(id clio.Identification, httpClient *http.Client) *HashiGoGetter
NewGetter creates and returns a new Getter. Providing an http.Client is optional. If one is provided, it will be used for all HTTP(S) getting; otherwise, go-getter's default getters will be used.
type Opener ¶ added in v0.4.0
type Opener struct {
// contains filtered or unexported fields
}
Opener is an object that stores a path to later be opened as a file.
type WalkDiskDirFunc ¶ added in v1.28.0
type WalkDiskDirFunc func(fsys filesystem.FileSystem, path string, d os.FileInfo, err error) error
type ZipFileManifest ¶
ZipFileManifest is a collection of paths and their file metadata.
func NewZipFileManifest ¶
func NewZipFileManifest(ctx context.Context, archivePath string) (ZipFileManifest, error)
NewZipFileManifest creates and returns a new ZipFileManifest populated with path and metadata from the given zip archive path.