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{}
|
data interface{}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (pl payload) String() string {
|
func (pl *payload) String() string {
|
||||||
b, err := json.Marshal(pl.data)
|
b, err := json.Marshal(pl.data)
|
||||||
log.Err(err)
|
if err != nil {
|
||||||
|
log.Error().Err(err).Msg("payload.String()")
|
||||||
|
}
|
||||||
return string(b)
|
return string(b)
|
||||||
}
|
}
|
||||||
|
|
||||||
func Payload(d interface{}) lib.Payload {
|
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
|
Info = logging.GetLogger(nil).Info
|
||||||
Warn = logging.GetLogger(nil).Warn
|
Warn = logging.GetLogger(nil).Warn
|
||||||
Error = logging.GetLogger(nil).Error
|
Error = logging.GetLogger(nil).Error
|
||||||
Err = logging.GetLogger(nil).Err
|
|
||||||
)
|
)
|
||||||
|
|
|
@ -28,6 +28,7 @@ var Levels = map[string]zerolog.Level{
|
||||||
|
|
||||||
type Logger = zerolog.Logger
|
type Logger = zerolog.Logger
|
||||||
|
|
||||||
|
var defaultLogger = log.Logger
|
||||||
var globalLogger *Logger = &log.Logger
|
var globalLogger *Logger = &log.Logger
|
||||||
|
|
||||||
type Cfg struct {
|
type Cfg struct {
|
||||||
|
@ -36,6 +37,10 @@ type Cfg struct {
|
||||||
Level string
|
Level string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func SetDefault() {
|
||||||
|
globalLogger = &defaultLogger
|
||||||
|
}
|
||||||
|
|
||||||
func Setup(ctx lib.Context, cfg *Cfg, home string) {
|
func Setup(ctx lib.Context, cfg *Cfg, home string) {
|
||||||
if cfg == nil {
|
if cfg == nil {
|
||||||
return // use unchanged predefined logger
|
return // use unchanged predefined logger
|
||||||
|
|
|
@ -38,6 +38,7 @@ func MakeT(tbase *testing.T) *T {
|
||||||
|
|
||||||
func SetUp(tbase *testing.T) *T {
|
func SetUp(tbase *testing.T) *T {
|
||||||
t := MakeT(tbase)
|
t := MakeT(tbase)
|
||||||
|
logging.SetDefault()
|
||||||
return t
|
return t
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -54,4 +54,6 @@ func PayloadTest(t *testing.T) {
|
||||||
pl2 := message.Payload(map[string]string{"activity": "development"})
|
pl2 := message.Payload(map[string]string{"activity": "development"})
|
||||||
t.AssertEqual(fmt.Sprint(pl2), `{"activity":"development"}`)
|
t.AssertEqual(fmt.Sprint(pl2), `{"activity":"development"}`)
|
||||||
msg.WithPayload(pl2)
|
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