in sg/internal/result/result.go [20:41]
func fromMetadata(query string, metadata map[string]interface{}) (Result, error) {
const msgField = "msg"
if _, ok := metadata[msgField]; !ok {
return Result{}, fmt.Errorf("rule missing %s field: %v", msgField, metadata)
}
if _, ok := metadata[msgField].(string); !ok {
return Result{}, fmt.Errorf("%s field must be string: %v", msgField, metadata)
}
rv := fromString(query, metadata[msgField].(string))
rv.Metadata = make(map[string]interface{})
for k, v := range metadata {
if k == msgField {
continue
}
rv.Metadata[k] = v
}
return rv, nil
}