feat(handler): change path resolver logic #5
@ -2,6 +2,7 @@ package kubeprobes
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type kubeprobes struct {
|
||||
@ -11,15 +12,16 @@ type kubeprobes struct {
|
||||
|
||||
// ServeHTTP implements http.Handler interface
|
||||
func (kp *kubeprobes) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
switch r.URL.Path {
|
||||
case "/live":
|
||||
subs := strings.Split(strings.TrimSuffix(r.URL.Path, "/"), "/")
|
||||
switch subs[len(subs)-1] {
|
||||
case "live":
|
||||
sq := newStatusQuery(kp.livenessProbes)
|
||||
if sq.isAllGreen() {
|
||||
w.WriteHeader(http.StatusOK)
|
||||
} else {
|
||||
w.WriteHeader(http.StatusServiceUnavailable)
|
||||
}
|
||||
case "/ready":
|
||||
case "ready":
|
||||
sq := newStatusQuery(append(kp.livenessProbes, kp.readinessProbes...))
|
||||
if sq.isAllGreen() {
|
||||
w.WriteHeader(http.StatusOK)
|
||||
|
Loading…
Reference in New Issue
Block a user