diff options
author | Runxi Yu <me@runxiyu.org> | 2025-02-16 02:31:16 +0800 |
---|---|---|
committer | Runxi Yu <me@runxiyu.org> | 2025-02-16 02:31:16 +0800 |
commit | e274e949e6f8fc442e8c464ff1a294edd61ba8e0 (patch) | |
tree | aa139ee5373153c67072271f194f6ad68690d389 | |
parent | repo_index: Add HTTP clone along with SSH (diff) | |
download | forge-e274e949e6f8fc442e8c464ff1a294edd61ba8e0.tar.gz forge-e274e949e6f8fc442e8c464ff1a294edd61ba8e0.tar.zst forge-e274e949e6f8fc442e8c464ff1a294edd61ba8e0.zip |
*.go: Fix missing error handling
-rw-r--r-- | http_handle_repo_info.go | 3 | ||||
-rw-r--r-- | http_server.go | 10 | ||||
-rw-r--r-- | misc.go | 1 |
3 files changed, 12 insertions, 2 deletions
diff --git a/http_handle_repo_info.go b/http_handle_repo_info.go index 5bc0b76..4dd1c8d 100644 --- a/http_handle_repo_info.go +++ b/http_handle_repo_info.go @@ -23,6 +23,9 @@ func handle_repo_info(w http.ResponseWriter, r *http.Request, params map[string] fs_loader := server.NewFilesystemLoader(billy_fs) transport := server.NewServer(fs_loader) upload_pack_session, err := transport.NewUploadPackSession(endpoint, nil) + if err != nil { + return err + } advertised_references, err := upload_pack_session.AdvertisedReferencesContext(r.Context()) if err != nil { return err diff --git a/http_server.go b/http_server.go index 1a4d0a3..948117d 100644 --- a/http_server.go +++ b/http_server.go @@ -131,9 +131,15 @@ func (router *http_router_t) ServeHTTP(w http.ResponseWriter, r *http.Request) { repo_feature := segments[separator_index+3] switch repo_feature { case "info": - handle_repo_info(w, r, params) + err = handle_repo_info(w, r, params) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + } case "git-upload-pack": - handle_upload_pack(w, r, params) + err = handle_upload_pack(w, r, params) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + } case "tree": params["rest"] = strings.Join(segments[separator_index+4:], "/") if len(segments) < separator_index+5 && redirect_with_slash(w, r) { @@ -13,6 +13,7 @@ type name_desc_t struct { var err_environ_no_separator = errors.New("No separator found in environ line") func environ_to_map(environ_strings []string) (result map[string]string, err error) { + result = make(map[string]string) for _, environ_string := range environ_strings { key, value, found := strings.Cut(environ_string, "=") if !found { |