MCPcopy
hub / github.com/keploy/keploy / Compress

Function Compress

pkg/util.go:3652–3686  ·  view source on GitHub ↗
(logger *zap.Logger, encoding string, data []byte)

Source from the content-addressed store, hash-verified

3650}
3651
3652func Compress(logger *zap.Logger, encoding string, data []byte) ([]byte, error) {
3653 switch encoding {
3654 case "gzip":
3655 logger.Debug("compressing data using gzip")
3656 var compressedBuffer bytes.Buffer
3657 gw := gzip.NewWriter(&compressedBuffer)
3658 _, err := gw.Write(data)
3659 if err != nil {
3660 utils.LogError(logger, err, "failed to write compressed data to gzip writer")
3661 return nil, err
3662 }
3663 err = gw.Close()
3664 if err != nil {
3665 utils.LogError(logger, err, "failed to close gzip writer")
3666 return nil, err
3667 }
3668 return compressedBuffer.Bytes(), nil
3669 case "br":
3670 logger.Debug("compressing data using brotli")
3671 var compressedBuffer bytes.Buffer
3672 bw := brotli.NewWriter(&compressedBuffer)
3673 _, err := bw.Write(data)
3674 if err != nil {
3675 utils.LogError(logger, err, "failed to write compressed data to brotli writer")
3676 return nil, err
3677 }
3678 err = bw.Close()
3679 if err != nil {
3680 utils.LogError(logger, err, "failed to close brotli writer")
3681 return nil, err
3682 }
3683 return compressedBuffer.Bytes(), nil
3684 }
3685 return data, nil
3686}
3687
3688// extractTemplateKeys parses the inner segment of a template placeholder and returns variable keys.
3689// Supports patterns like:

Callers 3

decodeHTTPMethod · 0.92
prepareHTTPRequestFunction · 0.85

Calls 5

LogErrorFunction · 0.92
DebugMethod · 0.65
WriteMethod · 0.65
CloseMethod · 0.65
BytesMethod · 0.45

Tested by 1