This repository was archived by the owner on Nov 19, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +15
-6
lines changed Expand file tree Collapse file tree 1 file changed +15
-6
lines changed Original file line number Diff line number Diff line change @@ -20,6 +20,10 @@ type Gz struct {
20
20
// than no compression.
21
21
CompressionLevel int
22
22
23
+ // DisableMultistream controls whether the reader supports multistream files.
24
+ // See https://pkg.go.dev/compress/gzip#example-Reader.Multistream
25
+ DisableMultistream bool
26
+
23
27
// Use a fast parallel Gzip implementation. This is only
24
28
// effective for large streams (about 1 MB or greater).
25
29
Multithreaded bool
@@ -65,14 +69,19 @@ func (gz Gz) OpenWriter(w io.Writer) (io.WriteCloser, error) {
65
69
}
66
70
67
71
func (gz Gz ) OpenReader (r io.Reader ) (io.ReadCloser , error ) {
68
- var rc io.ReadCloser
69
- var err error
70
72
if gz .Multithreaded {
71
- rc , err = pgzip .NewReader (r )
72
- } else {
73
- rc , err = gzip .NewReader (r )
73
+ gzR , err := pgzip .NewReader (r )
74
+ if gzR != nil && gz .DisableMultistream {
75
+ gzR .Multistream (false )
76
+ }
77
+ return gzR , err
78
+ }
79
+
80
+ gzR , err := gzip .NewReader (r )
81
+ if gzR != nil && gz .DisableMultistream {
82
+ gzR .Multistream (false )
74
83
}
75
- return rc , err
84
+ return gzR , err
76
85
}
77
86
78
87
// magic number at the beginning of gzip files
You can’t perform that action at this time.
0 commit comments