Documentation
¶
Index ¶
- Variables
- func MiddlewareChain(f http.Handler, mm ...MiddlewareFunc) http.Handler
- type AliveCheckFunc
- type AliveStatus
- type Builder
- func (cb *Builder) Create() (*Component, error)
- func (cb *Builder) WithAliveCheckFunc(acf AliveCheckFunc) *Builder
- func (cb *Builder) WithMiddlewares(mm ...MiddlewareFunc) *Builder
- func (cb *Builder) WithPort(p int) *Builder
- func (cb *Builder) WithReadTimeout(rt time.Duration) *Builder
- func (cb *Builder) WithReadyCheckFunc(rcf ReadyCheckFunc) *Builder
- func (cb *Builder) WithRoutes(rr []Route) *Builder
- func (cb *Builder) WithSSL(c, k string) *Builder
- func (cb *Builder) WithWriteTimeout(wt time.Duration) *Builder
- type Component
- type Error
- func NewError() *Error
- func NewErrorWithCodeAndPayload(code int, payload interface{}) *Error
- func NewForbiddenError() *Error
- func NewForbiddenErrorWithPayload(payload interface{}) *Error
- func NewNotFoundError() *Error
- func NewNotFoundErrorWithPayload(payload interface{}) *Error
- func NewServiceUnavailableError() *Error
- func NewServiceUnavailableErrorWithPayload(payload interface{}) *Error
- func NewUnauthorizedError() *Error
- func NewUnauthorizedErrorWithPayload(payload interface{}) *Error
- func NewValidationError() *Error
- func NewValidationErrorWithPayload(payload interface{}) *Error
- type MiddlewareFunc
- type ReadyCheckFunc
- type ReadyStatus
- type Route
- func NewAuthDeleteRoute(p string, pr sync.ProcessorFunc, trace bool, auth auth.Authenticator, ...) Route
- func NewAuthGetRoute(p string, pr sync.ProcessorFunc, trace bool, auth auth.Authenticator, ...) Route
- func NewAuthHeadRoute(p string, pr sync.ProcessorFunc, trace bool, auth auth.Authenticator, ...) Route
- func NewAuthOptionsRoute(p string, pr sync.ProcessorFunc, trace bool, auth auth.Authenticator, ...) Route
- func NewAuthPatchRoute(p string, pr sync.ProcessorFunc, trace bool, auth auth.Authenticator, ...) Route
- func NewAuthPostRoute(p string, pr sync.ProcessorFunc, trace bool, auth auth.Authenticator, ...) Route
- func NewAuthPutRoute(p string, pr sync.ProcessorFunc, trace bool, auth auth.Authenticator, ...) Route
- func NewAuthRouteRaw(p string, m string, h http.HandlerFunc, trace bool, auth auth.Authenticator, ...) Route
- func NewDeleteRoute(p string, pr sync.ProcessorFunc, trace bool, mm ...MiddlewareFunc) Route
- func NewGetRoute(p string, pr sync.ProcessorFunc, trace bool, mm ...MiddlewareFunc) Route
- func NewHeadRoute(p string, pr sync.ProcessorFunc, trace bool, mm ...MiddlewareFunc) Route
- func NewOptionsRoute(p string, pr sync.ProcessorFunc, trace bool, mm ...MiddlewareFunc) Route
- func NewPatchRoute(p string, pr sync.ProcessorFunc, trace bool, mm ...MiddlewareFunc) Route
- func NewPostRoute(p string, pr sync.ProcessorFunc, trace bool, mm ...MiddlewareFunc) Route
- func NewPutRoute(p string, pr sync.ProcessorFunc, trace bool, mm ...MiddlewareFunc) Route
- func NewRoute(p string, m string, pr sync.ProcessorFunc, trace bool, auth auth.Authenticator, ...) Route
- func NewRouteRaw(p string, m string, h http.HandlerFunc, trace bool, mm ...MiddlewareFunc) Route
Constants ¶
This section is empty.
Variables ¶
var ( // DefaultAliveCheck return always live. DefaultAliveCheck = func() AliveStatus { return Alive } // DefaultReadyCheck return always ready. DefaultReadyCheck = func() ReadyStatus { return Ready } )
Functions ¶
func MiddlewareChain ¶ added in v0.23.0
func MiddlewareChain(f http.Handler, mm ...MiddlewareFunc) http.Handler
MiddlewareChain chains middlewares to a handler func.
Types ¶
type AliveCheckFunc ¶ added in v0.28.0
type AliveCheckFunc func() AliveStatus
AliveCheckFunc defines a function type for implementing a liveness check.
type AliveStatus ¶ added in v0.28.0
type AliveStatus int
AliveStatus type representing the liveness of the service via HTTP component.
const ( // Alive represents a state defining a Alive state. Alive AliveStatus = 1 // Unresponsive represents a state defining a Unresponsive state. Unresponsive AliveStatus = 2 )
type Builder ¶ added in v0.31.0
type Builder struct {
// contains filtered or unexported fields
}
Builder gathers all required and optional properties, in order to construct an HTTP component.
func NewBuilder ¶ added in v0.31.0
func NewBuilder() *Builder
NewBuilder initiates the HTTP component builder chain. The builder instantiates the component using default values for HTTP Port, Alive/Ready check functions and Read/Write timeouts.
func (*Builder) Create ¶ added in v0.31.0
Create constructs the HTTP component by applying the gathered properties.
func (*Builder) WithAliveCheckFunc ¶ added in v0.31.0
func (cb *Builder) WithAliveCheckFunc(acf AliveCheckFunc) *Builder
WithAliveCheckFunc sets the AliveCheckFunc used by the HTTP component.
func (*Builder) WithMiddlewares ¶ added in v0.31.0
func (cb *Builder) WithMiddlewares(mm ...MiddlewareFunc) *Builder
WithMiddlewares adds middlewares to the HTTP component.
func (*Builder) WithReadTimeout ¶ added in v0.31.0
WithReadTimeout sets the Read Timeout for the HTTP component.
func (*Builder) WithReadyCheckFunc ¶ added in v0.31.0
func (cb *Builder) WithReadyCheckFunc(rcf ReadyCheckFunc) *Builder
WithReadyCheckFunc sets the ReadyCheckFunc used by the HTTP component.
func (*Builder) WithRoutes ¶ added in v0.31.0
WithRoutes adds routes to the HTTP component.
type Error ¶ added in v0.23.0
type Error struct {
// contains filtered or unexported fields
}
Error defines an abstract struct that can represent several types of HTTP errors.
func NewError ¶ added in v0.23.0
func NewError() *Error
NewError creates a new error with default Internal Server Error payload.
func NewErrorWithCodeAndPayload ¶ added in v0.23.0
NewErrorWithCodeAndPayload creates a fully customizable error with the specified status code and payload.
func NewForbiddenError ¶ added in v0.23.0
func NewForbiddenError() *Error
NewForbiddenError creates a new forbidden error with default payload.
func NewForbiddenErrorWithPayload ¶ added in v0.23.0
func NewForbiddenErrorWithPayload(payload interface{}) *Error
NewForbiddenErrorWithPayload creates a new forbidden error with the specified payload.
func NewNotFoundError ¶ added in v0.23.0
func NewNotFoundError() *Error
NewNotFoundError creates a new not found error with default payload.
func NewNotFoundErrorWithPayload ¶ added in v0.23.0
func NewNotFoundErrorWithPayload(payload interface{}) *Error
NewNotFoundErrorWithPayload creates a new not found error with the specified payload.
func NewServiceUnavailableError ¶ added in v0.23.0
func NewServiceUnavailableError() *Error
NewServiceUnavailableError creates a new service unavailable error with default payload.
func NewServiceUnavailableErrorWithPayload ¶ added in v0.23.0
func NewServiceUnavailableErrorWithPayload(payload interface{}) *Error
NewServiceUnavailableErrorWithPayload creates a new service unavailable error with the specified payload.
func NewUnauthorizedError ¶ added in v0.23.0
func NewUnauthorizedError() *Error
NewUnauthorizedError creates a new validation error with default payload.
func NewUnauthorizedErrorWithPayload ¶ added in v0.23.0
func NewUnauthorizedErrorWithPayload(payload interface{}) *Error
NewUnauthorizedErrorWithPayload creates a new unauthorized error with the specified payload.
func NewValidationError ¶ added in v0.23.0
func NewValidationError() *Error
NewValidationError creates a new validation error with default payload.
func NewValidationErrorWithPayload ¶ added in v0.23.0
func NewValidationErrorWithPayload(payload interface{}) *Error
NewValidationErrorWithPayload creates a new validation error with the specified payload.
type MiddlewareFunc ¶ added in v0.23.0
MiddlewareFunc type declaration of middleware func.
func NewAuthMiddleware ¶ added in v0.23.0
func NewAuthMiddleware(auth auth.Authenticator) MiddlewareFunc
NewAuthMiddleware creates a MiddlewareFunc that implements authentication using an Authenticator.
func NewLoggingTracingMiddleware ¶ added in v0.31.0
func NewLoggingTracingMiddleware(path string) MiddlewareFunc
NewLoggingTracingMiddleware creates a MiddlewareFunc that continues a tracing span and finishes it. It also logs the HTTP request on debug logging level
func NewRecoveryMiddleware ¶ added in v0.23.0
func NewRecoveryMiddleware() MiddlewareFunc
NewRecoveryMiddleware creates a MiddlewareFunc that ensures recovery and no panic.
type ReadyCheckFunc ¶ added in v0.28.0
type ReadyCheckFunc func() ReadyStatus
ReadyCheckFunc defines a function type for implementing a readiness check.
type ReadyStatus ¶ added in v0.28.0
type ReadyStatus int
ReadyStatus type.
const ( // Ready represents a state defining a Ready state. Ready ReadyStatus = 1 // NotReady represents a state defining a NotReady state. NotReady ReadyStatus = 2 )
type Route ¶
type Route struct {
Pattern string
Method string
Handler http.HandlerFunc
Trace bool
Auth auth.Authenticator
Middlewares []MiddlewareFunc
}
Route definition of a HTTP route.
func NewAuthDeleteRoute ¶ added in v0.23.0
func NewAuthDeleteRoute(p string, pr sync.ProcessorFunc, trace bool, auth auth.Authenticator, mm ...MiddlewareFunc) Route
NewAuthDeleteRoute creates a new DELETE route from a generic handler with auth capability.
func NewAuthGetRoute ¶ added in v0.23.0
func NewAuthGetRoute(p string, pr sync.ProcessorFunc, trace bool, auth auth.Authenticator, mm ...MiddlewareFunc) Route
NewAuthGetRoute creates a new GET route from a generic handler with auth capability.
func NewAuthHeadRoute ¶ added in v0.23.0
func NewAuthHeadRoute(p string, pr sync.ProcessorFunc, trace bool, auth auth.Authenticator, mm ...MiddlewareFunc) Route
NewAuthHeadRoute creates a new HEAD route from a generic handler with auth capability.
func NewAuthOptionsRoute ¶ added in v0.23.0
func NewAuthOptionsRoute(p string, pr sync.ProcessorFunc, trace bool, auth auth.Authenticator, mm ...MiddlewareFunc) Route
NewAuthOptionsRoute creates a new OPTIONS route from a generic handler with auth capability.
func NewAuthPatchRoute ¶ added in v0.23.0
func NewAuthPatchRoute(p string, pr sync.ProcessorFunc, trace bool, auth auth.Authenticator, mm ...MiddlewareFunc) Route
NewAuthPatchRoute creates a new PATCH route from a generic handler with auth capability.
func NewAuthPostRoute ¶ added in v0.23.0
func NewAuthPostRoute(p string, pr sync.ProcessorFunc, trace bool, auth auth.Authenticator, mm ...MiddlewareFunc) Route
NewAuthPostRoute creates a new POST route from a generic handler with auth capability.
func NewAuthPutRoute ¶ added in v0.23.0
func NewAuthPutRoute(p string, pr sync.ProcessorFunc, trace bool, auth auth.Authenticator, mm ...MiddlewareFunc) Route
NewAuthPutRoute creates a new PUT route from a generic handler with auth capability.
func NewAuthRouteRaw ¶ added in v0.23.0
func NewAuthRouteRaw(p string, m string, h http.HandlerFunc, trace bool, auth auth.Authenticator, mm ...MiddlewareFunc) Route
NewAuthRouteRaw creates a new route from a HTTP handler with auth capability.
func NewDeleteRoute ¶ added in v0.4.2
func NewDeleteRoute(p string, pr sync.ProcessorFunc, trace bool, mm ...MiddlewareFunc) Route
NewDeleteRoute creates a new DELETE route from a generic handler.
func NewGetRoute ¶ added in v0.4.2
func NewGetRoute(p string, pr sync.ProcessorFunc, trace bool, mm ...MiddlewareFunc) Route
NewGetRoute creates a new GET route from a generic handler.
func NewHeadRoute ¶ added in v0.23.0
func NewHeadRoute(p string, pr sync.ProcessorFunc, trace bool, mm ...MiddlewareFunc) Route
NewHeadRoute creates a new HEAD route from a generic handler.
func NewOptionsRoute ¶ added in v0.23.0
func NewOptionsRoute(p string, pr sync.ProcessorFunc, trace bool, mm ...MiddlewareFunc) Route
NewOptionsRoute creates a new OPTIONS route from a generic handler.
func NewPatchRoute ¶ added in v0.23.0
func NewPatchRoute(p string, pr sync.ProcessorFunc, trace bool, mm ...MiddlewareFunc) Route
NewPatchRoute creates a new PATCH route from a generic handler.
func NewPostRoute ¶ added in v0.4.2
func NewPostRoute(p string, pr sync.ProcessorFunc, trace bool, mm ...MiddlewareFunc) Route
NewPostRoute creates a new POST route from a generic handler.
func NewPutRoute ¶ added in v0.4.2
func NewPutRoute(p string, pr sync.ProcessorFunc, trace bool, mm ...MiddlewareFunc) Route
NewPutRoute creates a new PUT route from a generic handler.
func NewRoute ¶
func NewRoute(p string, m string, pr sync.ProcessorFunc, trace bool, auth auth.Authenticator, mm ...MiddlewareFunc) Route
NewRoute creates a new route from a generic handler with auth capability.
func NewRouteRaw ¶ added in v0.2.0
func NewRouteRaw(p string, m string, h http.HandlerFunc, trace bool, mm ...MiddlewareFunc) Route
NewRouteRaw creates a new route from a HTTP handler.