produce payload object from JSON
This commit is contained in:
parent
b4d9338353
commit
31bdedc031
5 changed files with 22 additions and 4 deletions
|
@ -92,12 +92,23 @@ type payload struct {
|
|||
data interface{}
|
||||
}
|
||||
|
||||
func (pl payload) String() string {
|
||||
func (pl *payload) String() string {
|
||||
b, err := json.Marshal(pl.data)
|
||||
log.Err(err)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("payload.String()")
|
||||
}
|
||||
return string(b)
|
||||
}
|
||||
|
||||
func Payload(d interface{}) lib.Payload {
|
||||
return payload{d}
|
||||
return &payload{d}
|
||||
}
|
||||
|
||||
func FromJson[T any](s string) lib.Payload {
|
||||
pl := &payload{new(T)}
|
||||
err := json.Unmarshal([]byte(s), &pl.data)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("payload: FromJson()")
|
||||
}
|
||||
return pl
|
||||
}
|
||||
|
|
|
@ -16,5 +16,4 @@ var (
|
|||
Info = logging.GetLogger(nil).Info
|
||||
Warn = logging.GetLogger(nil).Warn
|
||||
Error = logging.GetLogger(nil).Error
|
||||
Err = logging.GetLogger(nil).Err
|
||||
)
|
||||
|
|
|
@ -28,6 +28,7 @@ var Levels = map[string]zerolog.Level{
|
|||
|
||||
type Logger = zerolog.Logger
|
||||
|
||||
var defaultLogger = log.Logger
|
||||
var globalLogger *Logger = &log.Logger
|
||||
|
||||
type Cfg struct {
|
||||
|
@ -36,6 +37,10 @@ type Cfg struct {
|
|||
Level string
|
||||
}
|
||||
|
||||
func SetDefault() {
|
||||
globalLogger = &defaultLogger
|
||||
}
|
||||
|
||||
func Setup(ctx lib.Context, cfg *Cfg, home string) {
|
||||
if cfg == nil {
|
||||
return // use unchanged predefined logger
|
||||
|
|
|
@ -38,6 +38,7 @@ func MakeT(tbase *testing.T) *T {
|
|||
|
||||
func SetUp(tbase *testing.T) *T {
|
||||
t := MakeT(tbase)
|
||||
logging.SetDefault()
|
||||
return t
|
||||
}
|
||||
|
||||
|
|
|
@ -54,4 +54,6 @@ func PayloadTest(t *testing.T) {
|
|||
pl2 := message.Payload(map[string]string{"activity": "development"})
|
||||
t.AssertEqual(fmt.Sprint(pl2), `{"activity":"development"}`)
|
||||
msg.WithPayload(pl2)
|
||||
pl3 := message.FromJson[map[string]any](`{"activity": "development"}`)
|
||||
t.AssertEqual(fmt.Sprint(pl3), `{"activity":"development"}`)
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue