github.com/newrelic/go-agent@v3.26.0+incompatible/internal/compress.go (about) 1 // Copyright 2020 New Relic Corporation. All rights reserved. 2 // SPDX-License-Identifier: Apache-2.0 3 4 package internal 5 6 import ( 7 "bytes" 8 "compress/gzip" 9 "sync" 10 ) 11 12 func compress(b []byte, gzipWriterPool *sync.Pool) (*bytes.Buffer, error) { 13 w := gzipWriterPool.Get().(*gzip.Writer) 14 defer gzipWriterPool.Put(w) 15 16 var buf bytes.Buffer 17 w.Reset(&buf) 18 _, err := w.Write(b) 19 w.Close() 20 21 if nil != err { 22 return nil, err 23 } 24 25 return &buf, nil 26 }