package common import ( "fmt" "net/http" "strings" "github.com/VictoriaMetrics/VictoriaMetrics/lib/prompbmarshal" ) // GetExtraLabels extracts name:value labels from `extra_label=name=value` query args from req. func GetExtraLabels(req *http.Request) ([]prompbmarshal.Label, error) { q := req.URL.Query() var result []prompbmarshal.Label for _, label := range q["extra_label"] { tmp := strings.SplitN(label, "=", 2) if len(tmp) != 2 { return nil, fmt.Errorf("`extra_label` query arg must have the format `name=value`; got %q", label) } result = append(result, prompbmarshal.Label{ Name: tmp[0], Value: tmp[1], }) } return result, nil }