rest

package
v0.14.4 Latest Latest
Warning

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

Go to latest
Published: Jan 31, 2024 License: MIT Imports: 16 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetLoggerFromContext added in v0.10.0

func GetLoggerFromContext(rq *http.Request, fallback *zap.SugaredLogger) *zap.SugaredLogger

func NewHealth

func NewHealth(log *zap.Logger, basePath string, healthChecks ...HealthCheck) (*restful.WebService, error)

NewHealth returns a webservice for healthchecks. All checks are executed and returned in a service health map.

func NewVersion

func NewVersion(name string, basePath string, minClientVersion string) *restful.WebService

NewVersion returns a webservice which returns version information. The given name should be a descriptive name of the module.

func RequestLoggerFilter added in v0.10.0

func RequestLoggerFilter(logger *zap.SugaredLogger) restful.FilterFunction

func UserAuth

func UserAuth(ug security.UserGetter, fallbackLogger *zap.SugaredLogger) restful.FilterFunction

Types

type HealthCheck

type HealthCheck interface {
	// ServiceName returns the name of the service that is health checked.
	ServiceName() string
	// Check is a function returning a service status and an error.
	Check(ctx context.Context) (HealthStatus, error)
}

HealthCheck defines an interface for health checks.

type HealthResponse added in v0.9.0

type HealthResponse struct {
	// Status indicates the overall health state.
	Status HealthStatus `json:"status"`
	// Message gives additional information on the overall health state.
	Message string `json:"message"`
	// Services is map of services by name with their individual health results.
	Services map[string]HealthResult `json:"services"`
}

HealthResponse is returned by the API when executing a health check.

type HealthResult added in v0.9.0

type HealthResult struct {
	// Status indicates the health of the service.
	Status HealthStatus `json:"status"`
	// Message gives additional information on the health of a service.
	Message string `json:"message"`
}

HealthResult holds the health state of a service.

type HealthStatus

type HealthStatus string

HealthStatus indicates the health of a service.

const (
	// HealthStatusHealthy is returned when the service is healthy.
	HealthStatusHealthy HealthStatus = "healthy"
	// HealthStatusUnhealthy is returned when the service is not healthy.
	HealthStatusUnhealthy HealthStatus = "unhealthy"
	// HealthStatusDegraded is returned when the service is degraded.
	HealthStatusDegraded HealthStatus = "degraded"
	// HealthStatusPartiallyUnhealthy is returned when the service is partially not healthy.
	HealthStatusPartiallyUnhealthy HealthStatus = "partial-outage"
)

func DeriveOverallHealthStatus added in v0.9.0

func DeriveOverallHealthStatus(services map[string]HealthResult) HealthStatus

type Key added in v0.10.0

type Key int
const (
	RequestLoggerKey Key = iota
	RequestIDKey
)

Jump to

Keyboard shortcuts

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