mirror of
https://github.com/foomo/sesamy-go.git
synced 2025-10-16 12:35:43 +00:00
feat: add metadata func option
This commit is contained in:
parent
3a414aba79
commit
70b8a970c5
@ -18,11 +18,12 @@ import (
|
||||
|
||||
type (
|
||||
Subscriber struct {
|
||||
l *zap.Logger
|
||||
uuidFunc func() string
|
||||
messages chan *message.Message
|
||||
middlewares []SubscriberMiddleware
|
||||
closed bool
|
||||
l *zap.Logger
|
||||
uuidFunc func() string
|
||||
messages chan *message.Message
|
||||
metadataFunc func(r *http.Request) map[string]string
|
||||
middlewares []SubscriberMiddleware
|
||||
closed bool
|
||||
}
|
||||
SubscriberOption func(*Subscriber)
|
||||
SubscriberHandler func(l *zap.Logger, r *http.Request, payload *gtag.Payload) error
|
||||
@ -39,6 +40,12 @@ func SubscriberWithUUIDFunc(v func() string) SubscriberOption {
|
||||
}
|
||||
}
|
||||
|
||||
func SubscriberWithMetadataFunc(v func(r *http.Request) map[string]string) SubscriberOption {
|
||||
return func(o *Subscriber) {
|
||||
o.metadataFunc = v
|
||||
}
|
||||
}
|
||||
|
||||
func SubscriberWithMiddlewares(v ...SubscriberMiddleware) SubscriberOption {
|
||||
return func(o *Subscriber) {
|
||||
o.middlewares = append(o.middlewares, v...)
|
||||
@ -141,6 +148,12 @@ 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)
|
||||
}
|
||||
}
|
||||
|
||||
for k, v := range msg.Metadata {
|
||||
l = l.With(zap.String(k, v))
|
||||
}
|
||||
|
||||
@ -15,11 +15,12 @@ import (
|
||||
|
||||
type (
|
||||
Subscriber struct {
|
||||
l *zap.Logger
|
||||
uuidFunc func() string
|
||||
messages chan *message.Message
|
||||
middlewares []SubscriberMiddleware
|
||||
closed bool
|
||||
l *zap.Logger
|
||||
uuidFunc func() string
|
||||
messages chan *message.Message
|
||||
metadataFunc func(r *http.Request) map[string]string
|
||||
middlewares []SubscriberMiddleware
|
||||
closed bool
|
||||
}
|
||||
SubscriberOption func(*Subscriber)
|
||||
SubscriberHandler func(l *zap.Logger, r *http.Request, payload *mpv2.Payload[any]) error
|
||||
@ -36,6 +37,11 @@ func SubscriberWithUUIDFunc(v func() string) SubscriberOption {
|
||||
}
|
||||
}
|
||||
|
||||
func SubscriberWithMetadataFunc(v func(r *http.Request) map[string]string) SubscriberOption {
|
||||
return func(o *Subscriber) {
|
||||
o.metadataFunc = v
|
||||
}
|
||||
}
|
||||
func SubscriberWithMiddlewares(v ...SubscriberMiddleware) SubscriberOption {
|
||||
return func(o *Subscriber) {
|
||||
o.middlewares = append(o.middlewares, v...)
|
||||
@ -116,6 +122,12 @@ 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)
|
||||
}
|
||||
}
|
||||
|
||||
for k, v := range msg.Metadata {
|
||||
l = l.With(zap.String(k, v))
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user