in dev/import-beats/kibana.go [133:158]
func encodeFields(ms mapStr) (mapStr, error) {
for _, field := range encodedFields {
v, err := ms.getValue(field)
if err == errKeyNotFound {
continue
} else if err != nil {
return mapStr{}, errors.Wrapf(err, "retrieving value failed (key: %s)", field)
}
_, isString := v.(string)
if isString {
continue
}
ve, err := json.Marshal(v)
if err != nil {
return mapStr{}, errors.Wrapf(err, "marshalling value failed (key: %s)", field)
}
_, err = ms.put(field, string(ve))
if err != nil {
return mapStr{}, errors.Wrapf(err, "putting value failed (key: %s)", field)
}
}
return ms, nil
}