mirror of
https://github.com/foomo/sesamy-go.git
synced 2025-10-16 12:35:43 +00:00
feat: add no publish handler
This commit is contained in:
parent
4921daa17e
commit
9c4ec4a25b
@ -8,7 +8,7 @@ import (
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
func MessageHandler(handler func(payload *gtag.Payload, msg *message.Message) error) func(msg *message.Message) ([]*message.Message, error) {
|
||||
func MessageHandler(handler func(payload *gtag.Payload, msg *message.Message) error) message.HandlerFunc {
|
||||
return func(msg *message.Message) ([]*message.Message, error) {
|
||||
var payload *gtag.Payload
|
||||
|
||||
|
||||
23
integration/watermill/gtag/nopublishmessagehandler.go
Normal file
23
integration/watermill/gtag/nopublishmessagehandler.go
Normal file
@ -0,0 +1,23 @@
|
||||
package gtag
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/ThreeDotsLabs/watermill/message"
|
||||
"github.com/foomo/sesamy-go/pkg/encoding/gtag"
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
func NoPublishMessageHandler(handler func(payload *gtag.Payload, msg *message.Message) error) func(msg *message.Message) error {
|
||||
return func(msg *message.Message) error {
|
||||
var payload *gtag.Payload
|
||||
|
||||
// unmarshal payload
|
||||
if err := json.Unmarshal(msg.Payload, &payload); err != nil {
|
||||
return errors.Wrap(err, "failed to unmarshal payload")
|
||||
}
|
||||
|
||||
// handle payload
|
||||
return handler(payload, msg)
|
||||
}
|
||||
}
|
||||
@ -8,7 +8,7 @@ import (
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
func MessageHandler(handler func(payload *mpv2.Payload[any], msg *message.Message) error) func(msg *message.Message) ([]*message.Message, error) {
|
||||
func MessageHandler(handler func(payload *mpv2.Payload[any], msg *message.Message) error) message.HandlerFunc {
|
||||
return func(msg *message.Message) ([]*message.Message, error) {
|
||||
var payload *mpv2.Payload[any]
|
||||
|
||||
|
||||
23
integration/watermill/mpv2/nopublishmessagehandler.go
Normal file
23
integration/watermill/mpv2/nopublishmessagehandler.go
Normal file
@ -0,0 +1,23 @@
|
||||
package mpv2
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/ThreeDotsLabs/watermill/message"
|
||||
"github.com/foomo/sesamy-go/pkg/encoding/mpv2"
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
func NoPublishMessageHandler(handler func(payload *mpv2.Payload[any], msg *message.Message) error) message.NoPublishHandlerFunc {
|
||||
return func(msg *message.Message) error {
|
||||
var payload *mpv2.Payload[any]
|
||||
|
||||
// unmarshal payload
|
||||
if err := json.Unmarshal(msg.Payload, &payload); err != nil {
|
||||
return errors.Wrap(err, "failed to unmarshal payload")
|
||||
}
|
||||
|
||||
// handle payload
|
||||
return handler(payload, msg)
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user