feat(handler): change path resolver logic #5

Merged
Piotr Icikowski merged 1 commits from resolver into devel 2024-02-29 01:23:54 +01:00

View File

@ -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)