aboutsummaryrefslogtreecommitdiff
path: root/http_handle_repo_raw.go
diff options
context:
space:
mode:
authorRunxi Yu <me@runxiyu.org>2025-02-18 22:59:22 +0800
committerRunxi Yu <me@runxiyu.org>2025-02-18 22:59:45 +0800
commitc27412e76ea6627d03a57818e116c13ae8687e36 (patch)
tree19b338cdcddc2d000eaf660f3e840b702c279a89 /http_handle_repo_raw.go
parentTODO: Update (e.g. potentially using fasthttp in the future) (diff)
downloadforge-c27412e76ea6627d03a57818e116c13ae8687e36.tar.gz
forge-c27412e76ea6627d03a57818e116c13ae8687e36.tar.zst
forge-c27412e76ea6627d03a57818e116c13ae8687e36.zip
http: Refactor more handler code duplication into the router
Diffstat (limited to 'http_handle_repo_raw.go')
-rw-r--r--http_handle_repo_raw.go11
1 files changed, 2 insertions, 9 deletions
diff --git a/http_handle_repo_raw.go b/http_handle_repo_raw.go
index d525df7..6c4550c 100644
--- a/http_handle_repo_raw.go
+++ b/http_handle_repo_raw.go
@@ -6,22 +6,15 @@ import (
"path"
"strings"
+ "github.com/go-git/go-git/v5"
"github.com/go-git/go-git/v5/plumbing/object"
)
func handle_repo_raw(w http.ResponseWriter, r *http.Request, params map[string]any) {
raw_path_spec := params["rest"].(string)
- group_name, repo_name, path_spec := params["group_name"].(string), params["repo_name"].(string), strings.TrimSuffix(raw_path_spec, "/")
-
+ repo, path_spec := params["repo"].(*git.Repository), strings.TrimSuffix(raw_path_spec, "/")
params["path_spec"] = path_spec
- repo, description, err := open_git_repo(r.Context(), group_name, repo_name)
- if err != nil {
- http.Error(w, "Error opening repo: "+err.Error(), http.StatusInternalServerError)
- return
- }
- params["repo_description"] = description
-
ref_hash, err := get_ref_hash_from_type_and_name(repo, params["ref_type"].(string), params["ref_name"].(string))
if err != nil {
http.Error(w, "Error getting ref hash: "+err.Error(), http.StatusInternalServerError)