in logsapi/route_handlers.go [54:77]
func (le *LogEvent) UnmarshalJSON(data []byte) error {
b := struct {
Time time.Time `json:"time"`
Type LogEventType `json:"type"`
Record json.RawMessage `json:"record"`
}{}
if err := json.Unmarshal(data, &b); err != nil {
return err
}
le.Time = b.Time
le.Type = b.Type
if len(b.Record) > 0 && b.Record[0] == '{' {
if err := json.Unmarshal(b.Record, &(le.Record)); err != nil {
return err
}
} else {
if err := json.Unmarshal(b.Record, &(le.StringRecord)); err != nil {
return err
}
}
return nil
}