From d3f7fa1a881548c8bd823b8e072a55e71b18c9d9 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Wed, 12 Feb 2025 19:50:49 +0800 Subject: [PATCH] router_http: Use http.Error instead of Fprintln to report errors --- router_http.go | 15 +++++++++------ diff --git a/router_http.go b/router_http.go index abf47c247e5d407c588f064c29699bd6e20de5ba..29f558f85d05f8b368b4aaa2367677e4f435fc07 100644 --- a/router_http.go +++ b/router_http.go @@ -28,7 +28,7 @@ static_handler.ServeHTTP(w, r) case "source": source_handler.ServeHTTP(w, r) default: - fmt.Fprintln(w, "Unknown system module type:", segments[1]) + http.Error(w, fmt.Sprintf("Unknown system module type: %s", segments[1]), http.StatusNotFound) } return } @@ -53,9 +53,9 @@ switch { case non_empty_last_segments_len == 0: handle_index(w, r) case separator_index == -1: - fmt.Fprintln(w, "Group indexing hasn't been implemented yet") + http.Error(w, "Group indexing hasn't been implemented yet", http.StatusNotImplemented) case non_empty_last_segments_len == separator_index+1: - fmt.Fprintln(w, "Group root hasn't been implemented yet") + http.Error(w, "Group root hasn't been implemented yet", http.StatusNotImplemented) case non_empty_last_segments_len == separator_index+2: module_type := segments[separator_index+1] params["group_name"] = segments[0] @@ -63,7 +63,7 @@ switch module_type { case "repos": handle_group_repos(w, r, params) default: - fmt.Fprintln(w, "Unknown module type:", module_type) + http.Error(w, fmt.Sprintf("Unknown module type: %s", module_type), http.StatusNotFound) } default: module_type := segments[separator_index+1] @@ -91,7 +91,7 @@ params["rest"] = strings.Join(segments[separator_index+4:], "/") handle_repo_raw(w, r, params) case "log": if non_empty_last_segments_len != separator_index+5 { - fmt.Fprintln(w, "Too many parameters") + http.Error(w, "Too many parameters", http.StatusBadRequest) return } if dir_mode { @@ -107,11 +107,14 @@ return } params["commit_id"] = segments[separator_index+4] handle_repo_commit(w, r, params) + default: + http.Error(w, fmt.Sprintf("Unknown repo feature: %s", repo_feature), http.StatusNotFound) } default: - fmt.Fprintln(w, "Unknown module type:", module_type) + http.Error(w, fmt.Sprintf("Unknown module type: %s", module_type), http.StatusNotFound) } } } var err_bad_request = errors.New("Bad Request") + -- 2.48.1