middleware

package
v0.4.19 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2021 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultLoggerKey = amqpmiddleware.MetadataKey("ConsumerDefaultLogger")

DefaultLoggerKey is the context value key for fetching the logger provided by the DefaultLogging middleware.

Variables

This section is empty.

Functions

This section is empty.

Types

type AmqpRouteManager

type AmqpRouteManager interface {
	QueueDeclare(
		name string,
		durable bool,
		autoDelete bool,
		exclusive bool,
		noWait bool,
		args streadway.Table,
	) (queue amqp.Queue, err error)
	QueueDeclarePassive(
		name string, durable, autoDelete, exclusive, noWait bool, args amqp.Table,
	) (queue amqp.Queue, err error)
	QueueInspect(name string) (queue amqp.Queue, err error)
	QueueBind(name, key, exchange string, noWait bool, args amqp.Table) error
	QueuePurge(name string, noWait bool) (count int, err error)
	QueueDelete(name string, ifUnused, ifEmpty, noWait bool) (count int, err error)

	ExchangeDeclare(
		name, kind string, durable, autoDelete, internal, noWait bool, args amqp.Table,
	) (err error)
	ExchangeDeclarePassive(
		name, kind string, durable, autoDelete, internal, noWait bool, args amqp.Table,
	) (err error)
	ExchangeBind(
		destination, key, source string, noWait bool, args amqp.Table,
	) (err error)
	ExchangeDelete(name string, ifUnused, noWait bool) (err error)
}

AmqpRouteManager is an interface that only exposes the Queue and exchange methods for a channel. These are the only methods we want SetupChannel to have access to.

type CleanupChannel

type CleanupChannel = func(next HandlerCleanupChannel) HandlerCleanupChannel

CleanupChannel is a middleware signature for wrapping roger.Consumer.CleanupChannel.

type DefaultLogging

type DefaultLogging struct {
	Logger           zerolog.Logger
	LogDeliveryLevel zerolog.Level
	SuccessLogLevel  zerolog.Level
}

DefaultLogging provides logging middleware for roger.Consumer.

func (DefaultLogging) CleanupChannel

func (middleware DefaultLogging) CleanupChannel(next HandlerCleanupChannel) HandlerCleanupChannel

CleanupChannel implements ProvidesCleanupChannel for logging.

func (DefaultLogging) Delivery

func (middleware DefaultLogging) Delivery(next HandlerDelivery) HandlerDelivery

Delivery implements ProvidesDelivery for logging.

func (DefaultLogging) SetupChannel

func (middleware DefaultLogging) SetupChannel(next HandlerSetupChannel) HandlerSetupChannel

SetupChannel implements ProvidesSetupChannel for logging.

func (DefaultLogging) TypeID

func (middleware DefaultLogging) TypeID() ProviderTypeID

TypeID implement ProvidesMiddleware.

type Delivery

type Delivery = func(next HandlerDelivery) HandlerDelivery

Delivery is a middleware signature for wrapping roger.Consumer.HandleDelivery.

type HandlerCleanupChannel

type HandlerCleanupChannel = func(ctx context.Context, amqpChannel AmqpRouteManager) error

HandlerCleanupChannel defines the handler type for middleware wrapping roger.Consumer.CleanupChannel

type HandlerDelivery

type HandlerDelivery = func(ctx context.Context, delivery amqp.Delivery) (requeue bool, err error)

HandlerDelivery defines the handler type for middleware wrapping roger.Consumer.HandleDelivery.

type HandlerSetupChannel

type HandlerSetupChannel = func(ctx context.Context, amqpChannel AmqpRouteManager) error

HandlerSetupChannel defines a handler type for middleware wrapping roger.Consumer.SetupChannel

type ProviderTypeID added in v0.4.2

type ProviderTypeID string

ProviderTypeID identifies a ProvidesMiddleware type for catching duplicate providers.

const DefaultLoggerTypeID ProviderTypeID = "DefaultLogger"

DefaultLoggerTypeID is the ProviderTypeID for DefaultLogging.

type ProvidesAll

ProvidesAll provides all consumer middlewares.

type ProvidesCleanupChannel

type ProvidesCleanupChannel interface {
	ProvidesMiddleware
	CleanupChannel(next HandlerCleanupChannel) HandlerCleanupChannel
}

ProvidesCleanupChannel provides CleanupChannel middleware as a method.

type ProvidesDelivery

type ProvidesDelivery interface {
	ProvidesMiddleware
	Delivery(next HandlerDelivery) HandlerDelivery
}

ProvidesDelivery provides Delivery middleware as a method.

type ProvidesMiddleware

type ProvidesMiddleware interface {
	// TypeID returns a unique ID for verifying that a provider has not been registered
	// more than once.
	TypeID() ProviderTypeID
}

ProvidesMiddleware is the base interface that must be implemented by any middleware provider.

func NewDefaultLogging added in v0.4.2

func NewDefaultLogging(
	logger zerolog.Logger,
	logDeliveryLevel zerolog.Level,
	successLogLevel zerolog.Level,
) ProvidesMiddleware

NewDefaultLogging returns a new DefaultLogging as a ProvidesMiddleware interface.

type ProvidesSetupChannel

type ProvidesSetupChannel interface {
	ProvidesMiddleware
	SetupChannel(next HandlerSetupChannel) HandlerSetupChannel
}

ProvidesSetupChannel provides SetupChannel middleware as a method.

type SetupChannel

type SetupChannel = func(next HandlerSetupChannel) HandlerSetupChannel

SetupChannel is a middleware signature for wrapping roger.Consumer.SetupChannel

Jump to

Keyboard shortcuts

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