fanout

package
v0.13.0 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2020 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package fanout provides an http.Handler that takes in one request and fans it out to N other requests, based on a list of Subscriptions. Logically, it represents all the Subscriptions to a single Knative Channel. It will normally be used in conjunction with multichannelfanout.Handler, which contains multiple fanout.Handlers, each corresponding to a single Knative Channel.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Subscriptions []eventingduck.SubscriberSpec `json:"subscriptions"`
	// AsyncHandler controls whether the Subscriptions are called synchronous or asynchronously.
	// It is expected to be false when used as a sidecar.
	AsyncHandler     bool `json:"asyncHandler,omitempty"`
	DispatcherConfig channel.EventDispatcherConfig
}

Config for a fanout.Handler.

type Handler

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

Handler is a http.Handler that takes a single request in and fans it out to N other servers.

func NewHandler

func NewHandler(logger *zap.Logger, config Config) (*Handler, error)

NewHandler creates a new fanout.Handler.

func (*Handler) ServeHTTP

func (f *Handler) ServeHTTP(ctx context.Context, event cloudevents.Event, resp *cloudevents.EventResponse) error

Jump to

Keyboard shortcuts

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