diff options
Diffstat (limited to 'forged/internal/incoming/web/handler.go')
-rw-r--r-- | forged/internal/incoming/web/handler.go | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/forged/internal/incoming/web/handler.go b/forged/internal/incoming/web/handler.go index 6341a93..10f85d6 100644 --- a/forged/internal/incoming/web/handler.go +++ b/forged/internal/incoming/web/handler.go @@ -25,33 +25,35 @@ func NewHandler(cfg Config) http.Handler { // Feature handler instances indexHTTP := handlers.NewIndexHTTP() + groupHTTP := handlers.NewGroupHTTP() repoHTTP := repoHandlers.NewHTTP() + notImpl := handlers.NewNotImplementedHTTP() // Index h.r.GET("/", indexHTTP.Index) // Top-level utilities - h.r.ANY("-/login", h.notImplemented) - h.r.ANY("-/users", h.notImplemented) + h.r.ANY("-/login", notImpl.Handle) + h.r.ANY("-/users", notImpl.Handle) - // Group index (kept local for now; migrate later) - h.r.GET("@group/", h.groupIndex) + // Group index + h.r.GET("@group/", groupHTTP.Index) - // Repo index (handled by repoHTTP) + // Repo index h.r.GET("@group/-/repos/:repo/", repoHTTP.Index) - // Repo (kept local for now) - h.r.ANY("@group/-/repos/:repo/info", h.notImplemented) - h.r.ANY("@group/-/repos/:repo/git-upload-pack", h.notImplemented) - - // Repo features (kept local for now) - h.r.GET("@group/-/repos/:repo/branches/", h.notImplemented) - h.r.GET("@group/-/repos/:repo/log/", h.notImplemented) - h.r.GET("@group/-/repos/:repo/commit/:commit", h.notImplemented) - h.r.GET("@group/-/repos/:repo/tree/*rest", h.repoTree, WithDirIfEmpty("rest")) - h.r.GET("@group/-/repos/:repo/raw/*rest", h.repoRaw, WithDirIfEmpty("rest")) - h.r.GET("@group/-/repos/:repo/contrib/", h.notImplemented) - h.r.GET("@group/-/repos/:repo/contrib/:mr", h.notImplemented) + // Repo (not implemented yet) + h.r.ANY("@group/-/repos/:repo/info", notImpl.Handle) + h.r.ANY("@group/-/repos/:repo/git-upload-pack", notImpl.Handle) + + // Repo features + h.r.GET("@group/-/repos/:repo/branches/", notImpl.Handle) + h.r.GET("@group/-/repos/:repo/log/", notImpl.Handle) + h.r.GET("@group/-/repos/:repo/commit/:commit", notImpl.Handle) + h.r.GET("@group/-/repos/:repo/tree/*rest", repoHTTP.Tree, WithDirIfEmpty("rest")) + h.r.GET("@group/-/repos/:repo/raw/*rest", repoHTTP.Raw, WithDirIfEmpty("rest")) + h.r.GET("@group/-/repos/:repo/contrib/", notImpl.Handle) + h.r.GET("@group/-/repos/:repo/contrib/:mr", notImpl.Handle) return h } |