commands/helpers/archive/ziplegacy/zip_legacy_extractor.go (23 lines of code) (raw):

package ziplegacy import ( "archive/zip" "context" "io" "gitlab.com/gitlab-org/gitlab-runner/commands/helpers/archive" "gitlab.com/gitlab-org/gitlab-runner/helpers/archives" ) // extractor is a zip stream extractor. type extractor struct { r io.ReaderAt size int64 dir string } // NewExtractor returns a new Zip Extractor. func NewExtractor(r io.ReaderAt, size int64, dir string) (archive.Extractor, error) { return &extractor{r: r, size: size, dir: dir}, nil } // Extract extracts files from the reader to the directory passed to // NewZipExtractor. func (e *extractor) Extract(ctx context.Context) error { zr, err := zip.NewReader(e.r, e.size) if err != nil { return err } return archives.ExtractZipArchive(zr) }