gtag

package
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 25, 2024 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MetadataEventName = "X-Event-Name"
)

Variables

View Source
var (
	ErrMissingEventName = errors.New("missing event name")
	ErrContextCanceled  = errors.New("request stopped without ACK received")
	ErrMessageNacked    = errors.New("message nacked")
	ErrClosed           = errors.New("subscriber already closed")
)
View Source
var (
	ErrErrorResponse   = errors.New("server responded with error status")
	ErrPublisherClosed = errors.New("publisher is closed")
)

Functions

func MPv2MessageHandler added in v0.4.0

func MPv2MessageHandler(msg *message.Message) ([]*message.Message, error)

func MessageHandler

func MessageHandler(handler func(payload *gtag.Payload, msg *message.Message) error) message.HandlerFunc

func NoPublishMessageHandler

func NoPublishMessageHandler(handler func(payload *gtag.Payload, msg *message.Message) error) func(msg *message.Message) error

Types

type Publisher

type Publisher struct {
	// contains filtered or unexported fields
}

func NewPublisher

func NewPublisher(l *zap.Logger, host string, opts ...PublisherOption) *Publisher

func (*Publisher) Client

func (p *Publisher) Client() *http.Client

func (*Publisher) Close

func (p *Publisher) Close() error

func (*Publisher) Publish

func (p *Publisher) Publish(topic string, messages ...*message.Message) error

type PublisherHandler added in v0.4.0

type PublisherHandler func(l *zap.Logger, msg *message.Message) error

func PublisherMiddlewareIgnoreError added in v0.4.0

func PublisherMiddlewareIgnoreError(next PublisherHandler) PublisherHandler

type PublisherMarshalMessageFunc

type PublisherMarshalMessageFunc func(url string, msg *message.Message) (*http.Request, error)

PublisherMarshalMessageFunc transforms the message into a HTTP request to be sent to the specified url.

type PublisherMiddleware added in v0.4.0

type PublisherMiddleware func(next PublisherHandler) PublisherHandler

type PublisherOption

type PublisherOption func(*Publisher)

func PublisherWithClient

func PublisherWithClient(v *http.Client) PublisherOption

func PublisherWithMaxResponseCode added in v0.4.0

func PublisherWithMaxResponseCode(v int) PublisherOption

func PublisherWithMiddlewares added in v0.4.0

func PublisherWithMiddlewares(v ...PublisherMiddleware) PublisherOption

func PublisherWithPath

func PublisherWithPath(v string) PublisherOption

type Subscriber

type Subscriber struct {
	// contains filtered or unexported fields
}

func NewSubscriber

func NewSubscriber(l *zap.Logger, opts ...SubscriberOption) *Subscriber

func (*Subscriber) Close

func (s *Subscriber) Close() error

Close closes all subscriptions with their output channels and flush offsets etc. when needed.

func (*Subscriber) ServeHTTP

func (s *Subscriber) ServeHTTP(w http.ResponseWriter, r *http.Request)

func (*Subscriber) Subscribe

func (s *Subscriber) Subscribe(ctx context.Context, topic string) (<-chan *message.Message, error)

type SubscriberOption

type SubscriberOption func(*Subscriber)

func SubscriberWithMessageFunc added in v0.2.1

func SubscriberWithMessageFunc(v func(l *zap.Logger, r *http.Request, msg *message.Message) error) SubscriberOption

func SubscriberWithMiddlewares

func SubscriberWithMiddlewares(v ...gtaghttp.Middleware) SubscriberOption

func SubscriberWithUUIDFunc

func SubscriberWithUUIDFunc(v func() string) SubscriberOption

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL