aboutsummaryrefslogtreecommitdiff
path: root/http_handle_repo_index.go
diff options
context:
space:
mode:
authorRunxi Yu <me@runxiyu.org>2025-02-13 01:28:35 +0800
committerRunxi Yu <me@runxiyu.org>2025-02-13 01:28:35 +0800
commit14326ba9be276d2649b4681d3ebed1c32f65013f (patch)
tree9bd8717b6968b5a977d925d193042a92bc68f311 /http_handle_repo_index.go
parentssh_{server,utils}: Swap filenames (diff)
downloadforge-14326ba9be276d2649b4681d3ebed1c32f65013f.tar.gz
forge-14326ba9be276d2649b4681d3ebed1c32f65013f.tar.zst
forge-14326ba9be276d2649b4681d3ebed1c32f65013f.zip
_header.html: Add header
Diffstat (limited to 'http_handle_repo_index.go')
-rw-r--r--http_handle_repo_index.go19
1 files changed, 8 insertions, 11 deletions
diff --git a/http_handle_repo_index.go b/http_handle_repo_index.go
index 0c7b570..866463d 100644
--- a/http_handle_repo_index.go
+++ b/http_handle_repo_index.go
@@ -5,11 +5,8 @@ import (
"net/url"
)
-func handle_repo_index(w http.ResponseWriter, r *http.Request, params map[string]string) {
- data := make(map[string]any)
- data["global"] = global_data
- group_name, repo_name := params["group_name"], params["repo_name"]
- data["group_name"], data["repo_name"] = group_name, repo_name
+func handle_repo_index(w http.ResponseWriter, r *http.Request, params map[string]any) {
+ group_name, repo_name := params["group_name"].(string), params["repo_name"].(string)
repo, err := open_git_repo(r.Context(), group_name, repo_name)
if err != nil {
_, _ = w.Write([]byte("Error opening repo: " + err.Error()))
@@ -20,14 +17,14 @@ func handle_repo_index(w http.ResponseWriter, r *http.Request, params map[string
_, _ = w.Write([]byte("Error getting repo HEAD: " + err.Error()))
return
}
- data["ref"] = head.Name().Short()
+ params["ref"] = head.Name().Short()
head_hash := head.Hash()
recent_commits, err := get_recent_commits(repo, head_hash, 3)
if err != nil {
_, _ = w.Write([]byte("Error getting recent commits: " + err.Error()))
return
}
- data["commits"] = recent_commits
+ params["commits"] = recent_commits
commit_object, err := repo.CommitObject(head_hash)
if err != nil {
_, _ = w.Write([]byte("Error getting commit object: " + err.Error()))
@@ -39,12 +36,12 @@ func handle_repo_index(w http.ResponseWriter, r *http.Request, params map[string
return
}
- data["readme_filename"], data["readme"] = render_readme_at_tree(tree)
- data["files"] = build_display_git_tree(tree)
+ params["readme_filename"], params["readme"] = render_readme_at_tree(tree)
+ params["files"] = build_display_git_tree(tree)
- data["clone_url"] = "ssh://" + r.Host + "/" + url.PathEscape(params["group_name"]) + "/:/repos/" + url.PathEscape(params["repo_name"])
+ params["clone_url"] = "ssh://" + r.Host + "/" + url.PathEscape(group_name) + "/:/repos/" + url.PathEscape(repo_name)
- err = templates.ExecuteTemplate(w, "repo_index", data)
+ err = templates.ExecuteTemplate(w, "repo_index", params)
if err != nil {
_, _ = w.Write([]byte("Error rendering template: " + err.Error()))
return