added livez

This commit is contained in:
ston1th 2024-10-13 03:39:20 +02:00
commit 690613cab8
2 changed files with 15 additions and 10 deletions

View file

@ -32,8 +32,14 @@ type notFoundHandler struct {
log logr.Logger log logr.Logger
} }
func (nf *notFoundHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { func (h *notFoundHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
types.NewContext(w, r, nil, nf.log).Err(types.ErrInvalidAPIRoute) types.NewContext(w, r, nil, h.log).Err(types.ErrInvalidAPIRoute)
}
type okHandler struct{}
func (okHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
types.NewContext(w, r, nil, logr.Discard()).OK()
} }
func NewServer(log logr.Logger, listen, socket string, db *db.DB) (*Server, error) { func NewServer(log logr.Logger, listen, socket string, db *db.DB) (*Server, error) {
@ -63,6 +69,9 @@ func NewServer(log logr.Logger, listen, socket string, db *db.DB) (*Server, erro
s.socket = sock s.socket = sock
m.Handle("/", &notFoundHandler{log}) m.Handle("/", &notFoundHandler{log})
ok := okHandler{}
m.Handle("GET /livez", ok)
m.Handle("GET /readyz", ok)
for _, v := range serverv1.Routes { for _, v := range serverv1.Routes {
for _, method := range v.Methods { for _, method := range v.Methods {
m.HandleFunc(method+" "+v.Path, s.contextWrapper(v.Handler)) m.HandleFunc(method+" "+v.Path, s.contextWrapper(v.Handler))

View file

@ -18,8 +18,6 @@ type ContextData struct {
} }
func NewContext(w http.ResponseWriter, r *http.Request, data *ContextData, log logr.Logger) *Context { func NewContext(w http.ResponseWriter, r *http.Request, data *ContextData, log logr.Logger) *Context {
h := w.Header()
h.Set("Content-Type", "application/json")
return &Context{ return &Context{
code: http.StatusOK, code: http.StatusOK,
r: r, r: r,
@ -110,13 +108,9 @@ func (c *Context) ReadBody() (b []byte, err error) {
return return
} }
func (c *Context) Body(b []byte) {
c.w.Write(b)
c.log()
}
// JSON is a json response // JSON is a json response
func (c *Context) JSON(v any) { func (c *Context) JSON(v any) {
c.SetHeader("Content-Type", "application/json")
err := json.NewEncoder(c.w).Encode(v) err := json.NewEncoder(c.w).Encode(v)
if err != nil { if err != nil {
c.Err(ErrISE) c.Err(ErrISE)
@ -139,7 +133,9 @@ func (c *Context) Err(err Error) {
// HTTPErr is a http.Error wrapper // HTTPErr is a http.Error wrapper
func (c *Context) HTTPErr(err string, code int) { func (c *Context) HTTPErr(err string, code int) {
c.code = code c.code = code
http.Error(c.w, err, code) c.SetHeader("Content-Type", "application/json")
c.w.WriteHeader(code)
c.w.Write([]byte(err))
c.log() c.log()
} }