refactor: use message func

This commit is contained in:
Kevin Franklin Kim 2024-07-10 11:48:57 +02:00
parent 70b8a970c5
commit 3b8c2a55ae
No known key found for this signature in database
2 changed files with 23 additions and 22 deletions

View File

@ -18,12 +18,12 @@ import (
type (
Subscriber struct {
l *zap.Logger
uuidFunc func() string
messages chan *message.Message
metadataFunc func(r *http.Request) map[string]string
middlewares []SubscriberMiddleware
closed bool
l *zap.Logger
uuidFunc func() string
messages chan *message.Message
messageFunc func(l *zap.Logger, r *http.Request, msg *message.Message) error
middlewares []SubscriberMiddleware
closed bool
}
SubscriberOption func(*Subscriber)
SubscriberHandler func(l *zap.Logger, r *http.Request, payload *gtag.Payload) error
@ -40,9 +40,9 @@ func SubscriberWithUUIDFunc(v func() string) SubscriberOption {
}
}
func SubscriberWithMetadataFunc(v func(r *http.Request) map[string]string) SubscriberOption {
func SubscriberWithMessageFunc(v func(l *zap.Logger, r *http.Request, msg *message.Message) error) SubscriberOption {
return func(o *Subscriber) {
o.metadataFunc = v
o.messageFunc = v
}
}
@ -148,9 +148,9 @@ func (s *Subscriber) handle(l *zap.Logger, r *http.Request, payload *gtag.Payloa
msg.Metadata.Set(name, strings.Join(headers, ","))
}
if s.metadataFunc != nil {
for k, v := range s.metadataFunc(r) {
msg.Metadata.Set(k, v)
if s.messageFunc != nil {
if err := s.messageFunc(l, r, msg); err != nil {
return err
}
}

View File

@ -15,12 +15,12 @@ import (
type (
Subscriber struct {
l *zap.Logger
uuidFunc func() string
messages chan *message.Message
metadataFunc func(r *http.Request) map[string]string
middlewares []SubscriberMiddleware
closed bool
l *zap.Logger
uuidFunc func() string
messages chan *message.Message
messageFunc func(l *zap.Logger, r *http.Request, msg *message.Message) error
middlewares []SubscriberMiddleware
closed bool
}
SubscriberOption func(*Subscriber)
SubscriberHandler func(l *zap.Logger, r *http.Request, payload *mpv2.Payload[any]) error
@ -37,11 +37,12 @@ func SubscriberWithUUIDFunc(v func() string) SubscriberOption {
}
}
func SubscriberWithMetadataFunc(v func(r *http.Request) map[string]string) SubscriberOption {
func SubscriberWithMessageFunc(v func(l *zap.Logger, r *http.Request, msg *message.Message) error) SubscriberOption {
return func(o *Subscriber) {
o.metadataFunc = v
o.messageFunc = v
}
}
func SubscriberWithMiddlewares(v ...SubscriberMiddleware) SubscriberOption {
return func(o *Subscriber) {
o.middlewares = append(o.middlewares, v...)
@ -122,9 +123,9 @@ func (s *Subscriber) handle(l *zap.Logger, r *http.Request, payload *mpv2.Payloa
msg.Metadata.Set(name, strings.Join(headers, ","))
}
if s.metadataFunc != nil {
for k, v := range s.metadataFunc(r) {
msg.Metadata.Set(k, v)
if s.messageFunc != nil {
if err := s.messageFunc(l, r, msg); err != nil {
return err
}
}