api/pkg/health/api.go
Peter Kurfer 49e58ac2e4 Add advanced matching options to HTTP handler
- move to Gitlab
- make code better testable
- create app abstraction for server
- cleanup
2020-12-26 13:11:49 +00:00

36 lines
543 B
Go

package health
import (
"errors"
)
type Status uint8
const (
HEALTHY Status = 0
INITIALIZING Status = 1
UNHEALTHY Status = 2
UNKNOWN Status = 3
)
type CheckResult struct {
Status Status
Message string
}
type Result struct {
Status Status
Components map[string]CheckResult
}
type Check func() CheckResult
var (
ErrCheckForComponentAlreadyRegistered = errors.New("a check for the requested component is already registered")
)
func New() Checker {
return &checker{
componentChecks: map[string]Check{},
}
}