package app import ( "net/http" "github.com/rs/zerolog" "github.com/xlgmokha/x/pkg/ioc" "github.com/xlgmokha/x/pkg/log" "gitlab.com/gitlab-org/software-supply-chain-security/authorization/authzd.git/app/services" "gitlab.com/gitlab-org/software-supply-chain-security/authorization/authzd.git/pkg/rpc" ) func New() http.Handler { mux := http.NewServeMux() for _, handler := range handlers() { mux.Handle(handler.PathPrefix(), handler) } mux.Handle("/health", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusOK) })) logger := ioc.MustResolve[*zerolog.Logger](ioc.Default) return log.HTTP(logger)(mux) } func handlers() []rpc.TwirpServer { return []rpc.TwirpServer{ rpc.NewAbilityServer(services.NewAbilityService()), } }