handlers

package
v2.3.0 Latest Latest
Warning

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

Go to latest
Published: Nov 2, 2022 License: Apache-2.0 Imports: 32 Imported by: 4

Documentation

Index

Constants

View Source
const (
	Origin                        = "Origin"
	Vary                          = "Vary"
	AccessControlRequestMethod    = "Access-Control-Request-Method"
	AccessControlExposeHeaders    = "Access-Control-Expose-Headers"
	AccessControlAllowCredentials = "Access-Control-Allow-Credentials"
	AccessControlAllowOrigin      = "Access-Control-Allow-Origin"
	AccessControlAllowMethods     = "Access-Control-Allow-Methods"
	AccessControlAllowHeaders     = "Access-Control-Allow-Headers"
	AccessControlMaxAge           = "Access-Control-Max-Age"
)

Variables

This section is empty.

Functions

func HandlePreflight added in v2.1.0

func HandlePreflight(corsInfo config.CORSConfigurationInfo) func(w http.ResponseWriter, r *http.Request)

HandlePreflight returns a http handler function that process CORS preflight responses and sets CORS headers.

func MessagingBootstrapHandler added in v2.3.0

func MessagingBootstrapHandler(ctx context.Context, wg *sync.WaitGroup, startupTimer startup.Timer, dic *di.Container) bool

MessagingBootstrapHandler fulfills the BootstrapHandler contract. If creates and initializes the Messaging client and adds it to the DIC

func ProcessCORS added in v2.1.0

func ProcessCORS(corsInfo config.CORSConfigurationInfo) func(http.Handler) http.Handler

ProcessCORS is a middleware function that enables CORS responses and sets CORS headers.

func RequestLimitMiddleware added in v2.2.0

func RequestLimitMiddleware(sizeLimit int64, lc logger.LoggingClient) func(http.Handler) http.Handler

RequestLimitMiddleware is a middleware function that limits the request body size to Service.MaxRequestSize in kilobytes

Types

type ClientsBootstrap added in v2.2.0

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

ClientsBootstrap contains data to boostrap the configured clients

func NewClientsBootstrap added in v2.2.0

func NewClientsBootstrap() *ClientsBootstrap

NewClientsBootstrap is a factory method that returns the initialized "ClientsBootstrap" receiver struct.

func (*ClientsBootstrap) BootstrapHandler added in v2.2.0

func (cb *ClientsBootstrap) BootstrapHandler(
	_ context.Context,
	_ *sync.WaitGroup,
	startupTimer startup.Timer,
	dic *di.Container) bool

BootstrapHandler fulfills the BootstrapHandler contract. It creates instances of each of the EdgeX clients that are in the service's configuration and place them in the DIC. If the registry is enabled it will be used to get the URL for client otherwise it will use configuration for the url. This handler will fail if an unknown client is specified.

type ExternalMQTT added in v2.3.0

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

func NewExternalMQTT added in v2.3.0

func NewExternalMQTT(onConnectHandler mqtt.OnConnectHandler) *ExternalMQTT

func (*ExternalMQTT) BootstrapHandler added in v2.3.0

func (e *ExternalMQTT) BootstrapHandler(ctx context.Context, wg *sync.WaitGroup, startupTimer startup.Timer, dic *di.Container) bool

type HttpServer

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

HttpServer contains references to dependencies required by the http server implementation.

func NewHttpServer

func NewHttpServer(router *mux.Router, doListenAndServe bool) *HttpServer

NewHttpServer is a factory method that returns an initialized HttpServer receiver struct.

func (*HttpServer) BootstrapHandler

func (b *HttpServer) BootstrapHandler(
	ctx context.Context,
	wg *sync.WaitGroup,
	_ startup.Timer,
	dic *di.Container) bool

BootstrapHandler fulfills the BootstrapHandler contract. It creates two go routines -- one that executes ListenAndServe() and another that waits on closure of a context's done channel before calling Shutdown() to cleanly shut down the http server.

func (*HttpServer) IsRunning

func (b *HttpServer) IsRunning() bool

IsRunning returns whether or not the http server is running. It is provided to support delayed shutdown of any resources required to successfully process http requests until after all outstanding requests have been processed (e.g. a database connection).

type Ready

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

Ready contains references to dependencies required by the testing implementation.

func NewReady

func NewReady(httpServer httpServer, stream chan<- bool) *Ready

NewReady is a factory method that returns an initialized Ready receiver struct.

func (*Ready) BootstrapHandler

func (r *Ready) BootstrapHandler(
	_ context.Context,
	_ *sync.WaitGroup,
	startupTimer startup.Timer,
	_ *di.Container) bool

BootstrapHandler fulfills the BootstrapHandler contract. During normal production execution, a nil stream will be supplied. A non-nil stream indicates we're running within the test runner context and that we should wait for the httpServer to start running before sending confirmation over the stream. If the httpServer doesn't start running within the defined startup time, no confirmation is sent over the stream and the application bootstrapping is aborted.

type RegisterTelemetryFunc added in v2.2.0

type RegisterTelemetryFunc func(logger.LoggingClient, *config.TelemetryInfo, interfaces.MetricsManager)

type ServiceMetrics added in v2.2.0

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

func NewServiceMetrics added in v2.2.0

func NewServiceMetrics(serviceName string) *ServiceMetrics

func (*ServiceMetrics) BootstrapHandler added in v2.2.0

func (s *ServiceMetrics) BootstrapHandler(ctx context.Context, wg *sync.WaitGroup, _ startup.Timer, dic *di.Container) bool

BootstrapHandler fulfills the BootstrapHandler contract and performs initialization of service metrics.

type StartMessage

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

StartMessage contains references to dependencies required by the start message handler.

func NewStartMessage

func NewStartMessage(serviceKey, version string) *StartMessage

NewStartMessage is a factory method that returns an initialized StartMessage receiver struct.

func (StartMessage) BootstrapHandler

func (h StartMessage) BootstrapHandler(
	_ context.Context,
	_ *sync.WaitGroup,
	startupTimer startup.Timer,
	dic *di.Container) bool

BootstrapHandler fulfills the BootstrapHandler contract. It creates no go routines. It logs a "standard" set of messages when the service first starts up successfully.

Jump to

Keyboard shortcuts

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