MCPcopy Create free account
hub / github.com/cortexproject/cortex / decode

Function decode

pkg/querier/tripperware/query.go:483–513  ·  view source on GitHub ↗
(buf *bytes.Buffer, encoding string, logger log.Logger)

Source from the content-addressed store, hash-verified

481}
482
483func decode(buf *bytes.Buffer, encoding string, logger log.Logger) ([]byte, error) {
484 // if the response is gzipped, lets unzip it here
485 if strings.EqualFold(encoding, "gzip") {
486 gReader, err := gzip.NewReader(buf)
487 if err != nil {
488 return nil, err
489 }
490 defer runutil.CloseWithLogOnErr(logger, gReader, "close gzip reader")
491
492 return io.ReadAll(gReader)
493 }
494
495 // if the response is snappy compressed, decode it here
496 if strings.EqualFold(encoding, "snappy") {
497 sReader := snappy.NewReader(buf)
498 return io.ReadAll(sReader)
499 }
500
501 // if the response is zstd compressed, decode it here
502 if strings.EqualFold(encoding, "zstd") {
503 zReader, err := zstd.NewReader(buf)
504 if err != nil {
505 return nil, err
506 }
507 defer runutil.CloseWithLogOnErr(logger, zReader.IOReadCloser(), "close zstd decoder")
508
509 return io.ReadAll(zReader)
510 }
511
512 return buf.Bytes(), nil
513}
514
515// UnmarshalJSON implements json.Unmarshaler.
516func (s *PrometheusData) UnmarshalJSON(data []byte) error {

Callers 2

BodyBytesFunction · 0.85

Calls 2

CloseWithLogOnErrFunction · 0.92
BytesMethod · 0.65

Tested by

no test coverage detected