func()

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
}