aboutsummaryrefslogtreecommitdiff
path: root/forged/internal/incoming/web/handler.go
diff options
context:
space:
mode:
Diffstat (limited to 'forged/internal/incoming/web/handler.go')
-rw-r--r--forged/internal/incoming/web/handler.go36
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
}