github.com/muhammadn/cortex@v1.9.1-0.20220510110439-46bb7000d03d/pkg/alertmanager/merger/merger.go (about)

     1  package merger
     2  
     3  // Merger represents logic for merging response bodies.
     4  type Merger interface {
     5  	MergeResponses([][]byte) ([]byte, error)
     6  }
     7  
     8  // Noop is an implementation of the Merger interface which does not actually merge
     9  // responses, but just returns an arbitrary response(the first in the list). It can
    10  // be used for write requests where the response is either empty or inconsequential.
    11  type Noop struct{}
    12  
    13  func (Noop) MergeResponses(in [][]byte) ([]byte, error) {
    14  	if len(in) == 0 {
    15  		return nil, nil
    16  	}
    17  	return in[0], nil
    18  }