archive

package
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 5, 2022 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func TarGzipReader added in v1.0.0

func TarGzipReader(r io.Reader) (*tar.Reader, func() error, error)

TarGzipReader creates a reader for gzipped tar content. The returned function should be called to release all underlying resources.

func ZipReaderFromReader added in v1.0.0

func ZipReaderFromReader(r io.Reader, limit int) (*zip.Reader, error)

ZipReaderFromReader creates a new *zip.Reader from the given io.Reader, r. The full contents of r are read into memory to be able to create an io.ReaderAt and know the size of the buffer for the zip.NewReader function. limit is the maximum number of bytes to read to craete the zip.Reader.

Types

type FileWalkFn added in v0.5.0

type FileWalkFn func(ctx context.Context, path string, size int64, contents io.Reader) (proceed bool, err error)

FileWalkFn is called by a WalkFn on each file contained in an archive.

type FileWalkerProviderFunc added in v1.0.0

type FileWalkerProviderFunc func(f *os.File) (WalkFn, func() error, error)

FileWalkerProviderFunc creates a WalkFn and closing function from a file.

type FormatType added in v1.0.0

type FormatType int

FormatType specifies the type of archive format the identifier should expect.

const (
	UnsupportedArchive FormatType = iota
	TarArchive
	TarGzArchive
	TarBz2Archive
	ZipArchive
)

func ParseArchiveFormatFromFile added in v1.0.0

func ParseArchiveFormatFromFile(filename string) (FormatType, bool)

type ReaderWalkerProviderFunc added in v1.0.0

type ReaderWalkerProviderFunc func(r io.Reader) (WalkFn, func() error, error)

ReaderWalkerProviderFunc creates a WalkFn and closing function from a reader.

type WalkFn added in v0.5.0

type WalkFn func(ctx context.Context, walkFn FileWalkFn) error

A WalkFn iterates through an archive, calling FileWalkFn on each member file.

type WalkerProvider added in v1.0.0

type WalkerProvider interface {
	FromFile(*os.File) (WalkFn, func() error, error)
	FromReader(io.Reader) (WalkFn, func() error, error)
}

WalkerProvider creates WalkFn and closing function from certain resources.

func TarArchiveWalkers added in v1.0.0

func TarArchiveWalkers() WalkerProvider

TarArchiveWalkers creates a WalkerProvider for tar content.

func TarBz2Walkers added in v1.0.0

func TarBz2Walkers() WalkerProvider

TarBz2Walkers creates a WalkerProvider for bz2 zipped tar content.

func TarGzWalkers added in v1.0.0

func TarGzWalkers() WalkerProvider

TarGzWalkers creates a WalkerProvider for gzipped tar content.

func WalkerFromReaderWalkerProvider added in v1.0.0

func WalkerFromReaderWalkerProvider(reader ReaderWalkerProviderFunc) WalkerProvider

WalkerFromReaderWalkerProvider creates a WalkerProvider where the same function is used for both the FromFile and FromReader methods. For the FromFile, the file pointer is passed directly to reader.

func WalkerProviderFromFuncs added in v1.0.0

func WalkerProviderFromFuncs(file FileWalkerProviderFunc, reader ReaderWalkerProviderFunc) WalkerProvider

WalkerProviderFromFuncs creates a WalkerProvider from the given file and reader functions.

func ZipArchiveWalkers added in v1.0.0

func ZipArchiveWalkers(maxReadLimit int) WalkerProvider

ZipArchiveWalkers creates a WalkerProvider for zipped file content. maxReadLimit is the maximum amount of data to read from a reader when FromReader is called. If the reader content is larger than maxReadLimit an error will be returned.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL