keel/examples/roundtripwares/retry/server.go
Kevin Franklin Kim 07f0c394d5
feat: add GoRoutine service
moves all services into the service package
2023-09-08 12:17:23 +02:00

36 lines
607 B
Go

package main
import (
"net/http"
"github.com/foomo/keel"
"github.com/foomo/keel/service"
)
func server() {
svr := keel.NewServer()
// get logger
l := svr.Logger()
// create demo service
svs := http.NewServeMux()
counter := 0
svs.HandleFunc("/404", func(w http.ResponseWriter, r *http.Request) {
counter++
if counter < 10 {
http.Error(w, http.StatusText(http.StatusServiceUnavailable), http.StatusServiceUnavailable)
return
}
w.WriteHeader(http.StatusOK)
_, _ = w.Write([]byte("ok"))
})
svr.AddService(
service.NewHTTP(l, "demo", "localhost:8080", svs),
)
svr.Run()
}