1
0
mirror of https://github.com/netsampler/goflow2.git synced 2024-05-06 15:54:52 +00:00

33 lines
528 B
Go
Raw Normal View History

2021-05-22 16:12:26 -07:00
package json
import (
2023-08-09 19:47:20 -07:00
"encoding/json"
"github.com/netsampler/goflow2/v2/format"
2021-05-22 16:12:26 -07:00
)
type JsonDriver struct {
}
func (d *JsonDriver) Prepare() error {
return nil
}
2023-08-09 19:47:20 -07:00
func (d *JsonDriver) Init() error {
return nil
2021-05-22 16:12:26 -07:00
}
func (d *JsonDriver) Format(data interface{}) ([]byte, []byte, error) {
2023-08-09 19:47:20 -07:00
var key []byte
if dataIf, ok := data.(interface{ Key() []byte }); ok {
key = dataIf.Key()
2021-05-22 16:12:26 -07:00
}
2023-08-09 19:47:20 -07:00
output, err := json.Marshal(data)
return key, output, err
2021-05-22 16:12:26 -07:00
}
func init() {
d := &JsonDriver{}
format.RegisterFormatDriver("json", d)
}