Rename go files

This commit is contained in:
2025-04-07 17:14:04 +03:00
parent 05f273d687
commit 68291e2666
4 changed files with 0 additions and 0 deletions
+43
View File
@@ -0,0 +1,43 @@
package bpmlib
import (
"archive/tar"
"errors"
"io"
"os"
)
type TarballFileReader struct {
tarReader *tar.Reader
file *os.File
}
func ReadTarballContent(tarballPath, fileToExtract string) (*TarballFileReader, error) {
file, err := os.Open(tarballPath)
if err != nil {
return nil, err
}
tr := tar.NewReader(file)
for {
header, err := tr.Next()
if err == io.EOF {
break
}
if err != nil {
return nil, err
}
if header.Name == fileToExtract {
if header.Typeflag != tar.TypeReg {
return nil, errors.New("file to extract must be a regular file")
}
return &TarballFileReader{
tarReader: tr,
file: file,
}, nil
}
}
return nil, errors.New("could not file in tarball")
}