handler

package
v0.0.0-...-5cf3e1d Latest Latest
Warning

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

Go to latest
Published: Jan 8, 2024 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PublishEndpoint           = "/publish"
	LegacyEndpointPattern     = "/{application}/v1/events"
	SubscribedEndpointPattern = "/{application}/v1/events/subscribed"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type EventingHandler

type EventingHandler interface {
	Start(ctx context.Context) error
}

EventingHandler is responsible for receiving HTTP requests and dispatching them to the Backend. It also assures that the messages received are compliant with the Cloud Events spec.

type Handler

type Handler struct {
	Name string
	// Receiver receives incoming HTTP requests
	Receiver *receiver.HTTPMessageReceiver
	// Sender sends requests to the broker
	Sender        sender.GenericSender
	HealthChecker health.Checker
	// Defaulter sets default values to incoming events
	Defaulter cev2client.EventDefaulter
	// LegacyTransformer handles transformations needed to handle legacy events
	LegacyTransformer legacy.RequestToCETransformer
	// RequestTimeout timeout for outgoing requests
	RequestTimeout time.Duration
	// SubscribedProcessor processes requests for /:app/v1/events/subscribed endpoint
	SubscribedProcessor *subscribed.Processor
	// Logger default logger
	Logger *logger.Logger
	// Options configures HTTP server
	Options *options.Options

	OldEventTypePrefix string
	// contains filtered or unexported fields
}

func New

func New(receiver *receiver.HTTPMessageReceiver, sender sender.GenericSender, healthChecker health.Checker,
	requestTimeout time.Duration, legacyTransformer legacy.RequestToCETransformer, opts *options.Options,
	subscribedProcessor *subscribed.Processor, logger *logger.Logger, collector metrics.PublishingMetricsCollector,
	eventTypeCleaner eventtype.Cleaner, ceBuilder builder.CloudEventBuilder, oldEventTypePrefix string,
	activeBackend env.ActiveBackend) *Handler

New returns a new HTTP Handler instance.

func (*Handler) Start

func (h *Handler) Start(ctx context.Context) error

Start starts the Handler with the given context.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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