From 4479525731ef41bd5e2a91b949142a2097e0e701 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Sun, 17 Aug 2025 18:14:35 +0800 Subject: Move more stub handlers to handlers/ --- forged/internal/incoming/web/handlers/group.go | 17 +++++++++++++++++ forged/internal/incoming/web/handlers/index.go | 2 +- .../internal/incoming/web/handlers/not_implemented.go | 15 +++++++++++++++ forged/internal/incoming/web/handlers/repo/raw.go | 19 +++++++++++++++++++ forged/internal/incoming/web/handlers/repo/tree.go | 19 +++++++++++++++++++ 5 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 forged/internal/incoming/web/handlers/group.go create mode 100644 forged/internal/incoming/web/handlers/not_implemented.go create mode 100644 forged/internal/incoming/web/handlers/repo/raw.go create mode 100644 forged/internal/incoming/web/handlers/repo/tree.go (limited to 'forged/internal/incoming/web/handlers') diff --git a/forged/internal/incoming/web/handlers/group.go b/forged/internal/incoming/web/handlers/group.go new file mode 100644 index 0000000..1a1cb1d --- /dev/null +++ b/forged/internal/incoming/web/handlers/group.go @@ -0,0 +1,17 @@ +package handlers + +import ( + "net/http" + "strings" + + wtypes "go.lindenii.runxiyu.org/forge/forged/internal/incoming/web/types" +) + +type GroupHTTP struct{} + +func NewGroupHTTP() *GroupHTTP { return &GroupHTTP{} } + +func (h *GroupHTTP) Index(w http.ResponseWriter, r *http.Request, _ wtypes.Vars) { + base := wtypes.Base(r) + _, _ = w.Write([]byte("group index for: /" + strings.Join(base.GroupPath, "/") + "/")) +} diff --git a/forged/internal/incoming/web/handlers/index.go b/forged/internal/incoming/web/handlers/index.go index 773a0c6..1fd2954 100644 --- a/forged/internal/incoming/web/handlers/index.go +++ b/forged/internal/incoming/web/handlers/index.go @@ -10,6 +10,6 @@ type IndexHTTP struct{} func NewIndexHTTP() *IndexHTTP { return &IndexHTTP{} } -func (h *IndexHTTP) Index(w http.ResponseWriter, r *http.Request, _ wtypes.Vars) { +func (h *IndexHTTP) Index(w http.ResponseWriter, _ *http.Request, _ wtypes.Vars) { _, _ = w.Write([]byte("index: replace with template render")) } diff --git a/forged/internal/incoming/web/handlers/not_implemented.go b/forged/internal/incoming/web/handlers/not_implemented.go new file mode 100644 index 0000000..472f73b --- /dev/null +++ b/forged/internal/incoming/web/handlers/not_implemented.go @@ -0,0 +1,15 @@ +package handlers + +import ( + "net/http" + + wtypes "go.lindenii.runxiyu.org/forge/forged/internal/incoming/web/types" +) + +type NotImplementedHTTP struct{} + +func NewNotImplementedHTTP() *NotImplementedHTTP { return &NotImplementedHTTP{} } + +func (h *NotImplementedHTTP) Handle(w http.ResponseWriter, _ *http.Request, _ wtypes.Vars) { + http.Error(w, "not implemented", http.StatusNotImplemented) +} diff --git a/forged/internal/incoming/web/handlers/repo/raw.go b/forged/internal/incoming/web/handlers/repo/raw.go new file mode 100644 index 0000000..e421f45 --- /dev/null +++ b/forged/internal/incoming/web/handlers/repo/raw.go @@ -0,0 +1,19 @@ +package repo + +import ( + "fmt" + "net/http" + "strings" + + wtypes "go.lindenii.runxiyu.org/forge/forged/internal/incoming/web/types" +) + +func (h *HTTP) Raw(w http.ResponseWriter, r *http.Request, v wtypes.Vars) { + base := wtypes.Base(r) + repo := v["repo"] + rest := v["rest"] + if base.DirMode && rest != "" && !strings.HasSuffix(rest, "/") { + rest += "/" + } + _, _ = w.Write([]byte(fmt.Sprintf("raw: repo=%q path=%q", repo, rest))) +} diff --git a/forged/internal/incoming/web/handlers/repo/tree.go b/forged/internal/incoming/web/handlers/repo/tree.go new file mode 100644 index 0000000..3432244 --- /dev/null +++ b/forged/internal/incoming/web/handlers/repo/tree.go @@ -0,0 +1,19 @@ +package repo + +import ( + "fmt" + "net/http" + "strings" + + wtypes "go.lindenii.runxiyu.org/forge/forged/internal/incoming/web/types" +) + +func (h *HTTP) Tree(w http.ResponseWriter, r *http.Request, v wtypes.Vars) { + base := wtypes.Base(r) + repo := v["repo"] + rest := v["rest"] // may be "" + if base.DirMode && rest != "" && !strings.HasSuffix(rest, "/") { + rest += "/" + } + _, _ = w.Write([]byte(fmt.Sprintf("tree: repo=%q path=%q", repo, rest))) +} -- cgit v1.2.3