func()

in auparse/auparse.go [102:130]


func (m *AuditMessage) Data() (map[string]string, error) {
	if m.data != nil || m.error != nil {
		return m.data, m.error
	}

	if m.offset < 0 {
		m.error = errors.New("message has no data content")
		return nil, m.error
	}

	message, err := normalizeAuditMessage(m.RecordType, m.RawData[m.offset:])
	if err != nil {
		m.error = err
		return nil, m.error
	}

	extractedKv := extractKeyValuePairs(message)
	if err = m.enrichData(extractedKv); err != nil {
		m.error = err
		return nil, m.error
	}

	m.data = make(map[string]string, len(extractedKv))
	for k, f := range extractedKv {
		m.data[k] = f.value
	}

	return m.data, m.error
}