added livez
This commit is contained in:
parent
1656b91e3b
commit
690613cab8
2 changed files with 15 additions and 10 deletions
|
|
@ -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("/", ¬FoundHandler{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))
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue