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
}
func (nf *notFoundHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
types.NewContext(w, r, nil, nf.log).Err(types.ErrInvalidAPIRoute)
func (h *notFoundHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
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) {
@ -63,6 +69,9 @@ func NewServer(log logr.Logger, listen, socket string, db *db.DB) (*Server, erro
s.socket = sock
m.Handle("/", &notFoundHandler{log})
ok := okHandler{}
m.Handle("GET /livez", ok)
m.Handle("GET /readyz", ok)
for _, v := range serverv1.Routes {
for _, method := range v.Methods {
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 {
h := w.Header()
h.Set("Content-Type", "application/json")
return &Context{
code: http.StatusOK,
r: r,
@ -110,13 +108,9 @@ func (c *Context) ReadBody() (b []byte, err error) {
return
}
func (c *Context) Body(b []byte) {
c.w.Write(b)
c.log()
}
// JSON is a json response
func (c *Context) JSON(v any) {
c.SetHeader("Content-Type", "application/json")
err := json.NewEncoder(c.w).Encode(v)
if err != nil {
c.Err(ErrISE)
@ -139,7 +133,9 @@ func (c *Context) Err(err Error) {
// HTTPErr is a http.Error wrapper
func (c *Context) HTTPErr(err string, code int) {
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()
}