in server/pubsub/struct.go [75:97]
func ParseTopic(s string) (*Topic, error) {
t := &Topic{
Labels: make(map[string]string),
}
err := json.Unmarshal([]byte(s), t)
if err != nil {
return nil, err
}
if t.LabelsFormat == stringutil.LabelNone {
return t, nil
}
ls := strings.Split(t.LabelsFormat, "::")
if len(ls) != 0 {
for _, l := range ls {
s := strings.Split(l, "=")
if len(s) != 2 {
return nil, errors.New("invalid label:" + l)
}
t.Labels[s[0]] = s[1]
}
}
return t, err
}