package points import ( "compress/gzip" "io" io2 "github.com/influxdata/influxdb/v2/kit/io" ) // BatchReadCloser (potentially) wraps an io.ReadCloser in Gzip // decompression and limits the reading to a specific number of bytes. func BatchReadCloser(rc io.ReadCloser, encoding string, maxBatchSizeBytes int64) (io.ReadCloser, error) { switch encoding { case "gzip", "x-gzip": var err error rc, err = gzip.NewReader(rc) if err != nil { return nil, err } } if maxBatchSizeBytes > 0 { rc = io2.NewLimitedReadCloser(rc, maxBatchSizeBytes) } return rc, nil }