in restrictor/query_restrictor.go [80:95]
func (q *QueryRestrictor) addRestrictorLabels() func(n parser.Node, path []parser.Node) error {
return func(n parser.Node, path []parser.Node) error {
if n == nil {
return nil
}
for _, matcher := range q.matchers {
switch n := n.(type) {
case *parser.VectorSelector:
n.LabelMatchers = appendOrReplaceMatcher(n.LabelMatchers, matcher, q.ReplaceExistingLabel)
case *parser.MatrixSelector:
n.VectorSelector.(*parser.VectorSelector).LabelMatchers = appendOrReplaceMatcher(n.VectorSelector.(*parser.VectorSelector).LabelMatchers, matcher, q.ReplaceExistingLabel)
}
}
return nil
}
}