diff options
| author | mo khan <mo@mokhan.ca> | 2025-05-02 16:05:53 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-05-02 16:05:53 -0600 |
| commit | a3d5ee1225e2ce0b6cf3b90525a6876ca8f5ef8c (patch) | |
| tree | 429faf79855a2614b4c18bb286f94f474caf7e5c /app/app.go | |
| parent | 649b71d7fd2d6768460a37ed0d9e6ce7a1202a4f (diff) | |
refactor: connect logging to http requests
Diffstat (limited to 'app/app.go')
| -rw-r--r-- | app/app.go | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/app/app.go b/app/app.go new file mode 100644 index 00000000..a9923554 --- /dev/null +++ b/app/app.go @@ -0,0 +1,31 @@ +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/authz.d/app/services" + "gitlab.com/gitlab-org/software-supply-chain-security/authorization/authz.d/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()), + } +} |
