@@ -26,8 +26,8 @@ func ToQueryRequest(from, to model.Time, matchers []*labels.Matcher) (*QueryRequ
2626}
2727
2828// FromQueryRequest unpacks a QueryRequest proto.
29- func FromQueryRequest (req * QueryRequest ) (model.Time , model.Time , []* labels.Matcher , error ) {
30- matchers , err := FromLabelMatchers (req .Matchers )
29+ func FromQueryRequest (req * QueryRequest , newMatcher func ( t labels. MatchType , n , v string ) ( * labels. Matcher , error ) ) (model.Time , model.Time , []* labels.Matcher , error ) {
30+ matchers , err := FromLabelMatchers (req .Matchers , newMatcher )
3131 if err != nil {
3232 return 0 , 0 , nil , err
3333 }
@@ -55,10 +55,10 @@ func ToExemplarQueryRequest(from, to model.Time, matchers ...[]*labels.Matcher)
5555}
5656
5757// FromExemplarQueryRequest unpacks a ExemplarQueryRequest proto.
58- func FromExemplarQueryRequest (req * ExemplarQueryRequest ) (int64 , int64 , [][]* labels.Matcher , error ) {
58+ func FromExemplarQueryRequest (req * ExemplarQueryRequest , newMatcher func ( t labels. MatchType , n , v string ) ( * labels. Matcher , error ) ) (int64 , int64 , [][]* labels.Matcher , error ) {
5959 var result [][]* labels.Matcher
6060 for _ , m := range req .Matchers {
61- matchers , err := FromLabelMatchers (m .Matchers )
61+ matchers , err := FromLabelMatchers (m .Matchers , newMatcher )
6262 if err != nil {
6363 return 0 , 0 , nil , err
6464 }
@@ -175,10 +175,10 @@ func SeriesSetToQueryResponse(s storage.SeriesSet) (*QueryResponse, error) {
175175}
176176
177177// FromMetricsForLabelMatchersRequest unpacks a MetricsForLabelMatchersRequest proto
178- func FromMetricsForLabelMatchersRequest (req * MetricsForLabelMatchersRequest ) (model.Time , model.Time , int , [][]* labels.Matcher , error ) {
178+ func FromMetricsForLabelMatchersRequest (req * MetricsForLabelMatchersRequest , newMatcher func ( t labels. MatchType , n , v string ) ( * labels. Matcher , error ) ) (model.Time , model.Time , int , [][]* labels.Matcher , error ) {
179179 matchersSet := make ([][]* labels.Matcher , 0 , len (req .MatchersSet ))
180180 for _ , matchers := range req .MatchersSet {
181- matchers , err := FromLabelMatchers (matchers .Matchers )
181+ matchers , err := FromLabelMatchers (matchers .Matchers , newMatcher )
182182 if err != nil {
183183 return 0 , 0 , 0 , nil , err
184184 }
@@ -206,12 +206,12 @@ func ToLabelValuesRequest(labelName model.LabelName, from, to model.Time, limit
206206}
207207
208208// FromLabelValuesRequest unpacks a LabelValuesRequest proto
209- func FromLabelValuesRequest (req * LabelValuesRequest ) (string , int64 , int64 , int , []* labels.Matcher , error ) {
209+ func FromLabelValuesRequest (req * LabelValuesRequest , newMatcher func ( t labels. MatchType , n , v string ) ( * labels. Matcher , error ) ) (string , int64 , int64 , int , []* labels.Matcher , error ) {
210210 var err error
211211 var matchers []* labels.Matcher
212212
213213 if req .Matchers != nil {
214- matchers , err = FromLabelMatchers (req .Matchers .Matchers )
214+ matchers , err = FromLabelMatchers (req .Matchers .Matchers , newMatcher )
215215 if err != nil {
216216 return "" , 0 , 0 , 0 , nil , err
217217 }
@@ -236,12 +236,12 @@ func ToLabelNamesRequest(from, to model.Time, limit int, matchers []*labels.Matc
236236}
237237
238238// FromLabelNamesRequest unpacks a LabelNamesRequest proto
239- func FromLabelNamesRequest (req * LabelNamesRequest ) (int64 , int64 , int , []* labels.Matcher , error ) {
239+ func FromLabelNamesRequest (req * LabelNamesRequest , newMatcher func ( t labels. MatchType , n , v string ) ( * labels. Matcher , error ) ) (int64 , int64 , int , []* labels.Matcher , error ) {
240240 var err error
241241 var matchers []* labels.Matcher
242242
243243 if req .Matchers != nil {
244- matchers , err = FromLabelMatchers (req .Matchers .Matchers )
244+ matchers , err = FromLabelMatchers (req .Matchers .Matchers , newMatcher )
245245 if err != nil {
246246 return 0 , 0 , 0 , nil , err
247247 }
@@ -275,7 +275,7 @@ func toLabelMatchers(matchers []*labels.Matcher) ([]*LabelMatcher, error) {
275275 return result , nil
276276}
277277
278- func FromLabelMatchers (matchers []* LabelMatcher ) ([]* labels.Matcher , error ) {
278+ func FromLabelMatchers (matchers []* LabelMatcher , newMatcher func ( t labels. MatchType , n , v string ) ( * labels. Matcher , error ) ) ([]* labels.Matcher , error ) {
279279 result := make ([]* labels.Matcher , 0 , len (matchers ))
280280 for _ , matcher := range matchers {
281281 var mtype labels.MatchType
@@ -291,7 +291,7 @@ func FromLabelMatchers(matchers []*LabelMatcher) ([]*labels.Matcher, error) {
291291 default :
292292 return nil , fmt .Errorf ("invalid matcher type" )
293293 }
294- matcher , err := labels . NewMatcher (mtype , matcher .Name , matcher .Value )
294+ matcher , err := newMatcher (mtype , matcher .Name , matcher .Value )
295295 if err != nil {
296296 return nil , err
297297 }
0 commit comments