in elastictransport/gzip.go [46:61]
func (sg *simpleGzipCompressor) compress(rc io.ReadCloser) (*bytes.Buffer, error) {
var buf bytes.Buffer
zw, err := gzip.NewWriterLevel(&buf, sg.compressionLevel)
if err != nil {
return nil, fmt.Errorf("failed setting up up compress request body (level %d): %s",
sg.compressionLevel, err)
}
if _, err = io.Copy(zw, rc); err != nil {
return nil, fmt.Errorf("failed to compress request body: %s", err)
}
if err := zw.Close(); err != nil {
return nil, fmt.Errorf("failed to compress request body (during close): %s", err)
}
return &buf, nil
}