From b9d367b8fe76f2f96351bca85f092bd9d62308f8 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Thu, 13 Feb 2025 02:06:28 +0800 Subject: [PATCH] http_handle_*.go: Use fmt.Fprintln, not w.Write --- http_handle_group_index.go | 9 +++++---- http_handle_index.go | 9 +++++---- http_handle_login.go | 3 ++- http_handle_repo_commit.go | 15 ++++++++------- http_handle_repo_index.go | 13 +++++++------ http_handle_repo_log.go | 9 +++++---- http_handle_repo_raw.go | 19 ++++++++++--------- http_handle_repo_tree.go | 23 ++++++++++++----------- diff --git a/http_handle_group_index.go b/http_handle_group_index.go index d342277dc4ec69f0aae9bd7b1d57f4f70d99f9d4..9c910de679c7a1ec1610aa253121355e1d315117 100644 --- a/http_handle_group_index.go +++ b/http_handle_group_index.go @@ -1,6 +1,7 @@ package main import ( + "fmt" "net/http" ) @@ -10,7 +11,7 @@ var names []string rows, err := database.Query(r.Context(), "SELECT r.name FROM repos r JOIN groups g ON r.group_id = g.id WHERE g.name = $1;", group_name) if err != nil { - _, _ = w.Write([]byte("Error getting groups: " + err.Error())) + fmt.Fprintln(w, "Error getting groups:", err.Error()) return } defer rows.Close() @@ -18,14 +19,14 @@ for rows.Next() { var name string if err := rows.Scan(&name); err != nil { - _, _ = w.Write([]byte("Error scanning row: " + err.Error())) + fmt.Fprintln(w, "Error scanning row:", err.Error()) return } names = append(names, name) } if err := rows.Err(); err != nil { - _, _ = w.Write([]byte("Error iterating over rows: " + err.Error())) + fmt.Fprintln(w, "Error iterating over rows:", err.Error()) return } @@ -33,7 +34,7 @@ params["repos"] = names err = templates.ExecuteTemplate(w, "group_repos", params) if err != nil { - _, _ = w.Write([]byte("Error rendering template: " + err.Error())) + fmt.Fprintln(w, "Error rendering template:", err.Error()) return } } diff --git a/http_handle_index.go b/http_handle_index.go index 44482729ffa96aacb6f8f6982d231d399870728f..bbb10d83670dbb1e1a5c6d2fcc5d1d1d857aa333 100644 --- a/http_handle_index.go +++ b/http_handle_index.go @@ -1,13 +1,14 @@ package main import ( + "fmt" "net/http" ) func handle_index(w http.ResponseWriter, r *http.Request, params map[string]any) { rows, err := database.Query(r.Context(), "SELECT name FROM groups") if err != nil { - _, _ = w.Write([]byte("Error querying groups: " + err.Error())) + fmt.Fprintln(w, "Error querying groups: " + err.Error()) return } defer rows.Close() @@ -16,14 +17,14 @@ groups := []string{} for rows.Next() { var groupName string if err := rows.Scan(&groupName); err != nil { - _, _ = w.Write([]byte("Error scanning group name: " + err.Error())) + fmt.Fprintln(w, "Error scanning group name: " + err.Error()) return } groups = append(groups, groupName) } if err := rows.Err(); err != nil { - _, _ = w.Write([]byte("Error iterating over rows: " + err.Error())) + fmt.Fprintln(w, "Error iterating over rows: " + err.Error()) return } @@ -31,7 +32,7 @@ params["groups"] = groups err = templates.ExecuteTemplate(w, "index", params) if err != nil { - _, _ = w.Write([]byte("Error rendering template: " + err.Error())) + fmt.Fprintln(w, "Error rendering template: " + err.Error()) return } } diff --git a/http_handle_login.go b/http_handle_login.go index ef094f1942346998e95717440934799715228ed2..b60a71c934132b4df227d47d48fd862228be8d74 100644 --- a/http_handle_login.go +++ b/http_handle_login.go @@ -1,6 +1,7 @@ package main import ( + "fmt" "net/http" ) @@ -8,7 +9,7 @@ func handle_login(w http.ResponseWriter, r *http.Request, params map[string]any) { if r.Method != "POST" { err := templates.ExecuteTemplate(w, "login", params) if err != nil { - _, _ = w.Write([]byte("Error rendering template: " + err.Error())) + fmt.Fprintln(w, "Error rendering template:", err.Error()) return } } diff --git a/http_handle_repo_commit.go b/http_handle_repo_commit.go index 073bfa11d76669bd6d0603661968a41ab1c758e9..1a84862ef827ee8a448c8d43df77afb3a8896064 100644 --- a/http_handle_repo_commit.go +++ b/http_handle_repo_commit.go @@ -1,6 +1,7 @@ package main import ( + "fmt" "net/http" "strings" @@ -20,23 +21,23 @@ func handle_repo_commit(w http.ResponseWriter, r *http.Request, params map[string]any) { group_name, repo_name, commit_id_specified_string := params["group_name"].(string), params["repo_name"].(string), params["commit_id"].(string) repo, err := open_git_repo(r.Context(), group_name, repo_name) if err != nil { - _, _ = w.Write([]byte("Error opening repo: " + err.Error())) + fmt.Fprintln(w, "Error opening repo:", err.Error()) return } commit_id_specified_string_without_suffix := strings.TrimSuffix(commit_id_specified_string, ".patch") commit_id := plumbing.NewHash(commit_id_specified_string_without_suffix) commit_object, err := repo.CommitObject(commit_id) if err != nil { - _, _ = w.Write([]byte("Error getting commit object: " + err.Error())) + fmt.Fprintln(w, "Error getting commit object:", err.Error()) return } if commit_id_specified_string_without_suffix != commit_id_specified_string { patch, err := format_patch_from_commit(commit_object) if err != nil { - _, _ = w.Write([]byte("Error formatting patch: " + err.Error())) + fmt.Fprintln(w, "Error formatting patch:", err.Error()) return } - _, _ = w.Write([]byte(patch)) + fmt.Fprintln(w, patch) return } commit_id_string := commit_object.Hash.String() @@ -51,13 +52,13 @@ params["commit_id"] = commit_id_string parent_commit_hash, patch, err := get_patch_from_commit(commit_object) if err != nil { - _, _ = w.Write([]byte("Error getting patch from commit: " + err.Error())) + fmt.Fprintln(w, "Error getting patch from commit:", err.Error()) return } params["parent_commit_hash"] = parent_commit_hash.String() params["patch"] = patch - // TODO: Remove unnecessary context + // TODO: Remove unnecessary context // TODO: Prepend "+"/"-"/" " instead of solely distinguishing based on color usable_file_patches := make([]usable_file_patch, 0) for _, file_patch := range patch.FilePatches() { @@ -79,7 +80,7 @@ params["file_patches"] = usable_file_patches err = templates.ExecuteTemplate(w, "repo_commit", params) if err != nil { - _, _ = w.Write([]byte("Error rendering template: " + err.Error())) + fmt.Fprintln(w, "Error rendering template:", err.Error()) return } } diff --git a/http_handle_repo_index.go b/http_handle_repo_index.go index 866463d09d41aa0c8030b4ef32666655fbfc06e2..a3920b1c3312863b6dce47f6e8e4086d439958d9 100644 --- a/http_handle_repo_index.go +++ b/http_handle_repo_index.go @@ -1,6 +1,7 @@ package main import ( + "fmt" "net/http" "net/url" ) @@ -9,30 +10,30 @@ 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())) + fmt.Fprintln(w, "Error opening repo:", err.Error()) return } head, err := repo.Head() if err != nil { - _, _ = w.Write([]byte("Error getting repo HEAD: " + err.Error())) + fmt.Fprintln(w, "Error getting repo HEAD:", err.Error()) return } 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())) + fmt.Fprintln(w, "Error getting recent commits:", err.Error()) return } params["commits"] = recent_commits commit_object, err := repo.CommitObject(head_hash) if err != nil { - _, _ = w.Write([]byte("Error getting commit object: " + err.Error())) + fmt.Fprintln(w, "Error getting commit object:", err.Error()) return } tree, err := commit_object.Tree() if err != nil { - _, _ = w.Write([]byte("Error getting file tree: " + err.Error())) + fmt.Fprintln(w, "Error getting file tree:", err.Error()) return } @@ -43,7 +44,7 @@ params["clone_url"] = "ssh://" + r.Host + "/" + url.PathEscape(group_name) + "/:/repos/" + url.PathEscape(repo_name) err = templates.ExecuteTemplate(w, "repo_index", params) if err != nil { - _, _ = w.Write([]byte("Error rendering template: " + err.Error())) + fmt.Fprintln(w, "Error rendering template:", err.Error()) return } } diff --git a/http_handle_repo_log.go b/http_handle_repo_log.go index f36fba29a25cdbac5cc370065c005d4c251a64b4..7ab12946651ab6df5fc905a0ab9843e4d05b5710 100644 --- a/http_handle_repo_log.go +++ b/http_handle_repo_log.go @@ -1,6 +1,7 @@ package main import ( + "fmt" "net/http" "github.com/go-git/go-git/v5/plumbing" @@ -11,25 +12,25 @@ func handle_repo_log(w http.ResponseWriter, r *http.Request, params map[string]any) { group_name, repo_name, ref_name := params["group_name"].(string), params["repo_name"].(string), params["ref"].(string) repo, err := open_git_repo(r.Context(), group_name, repo_name) if err != nil { - _, _ = w.Write([]byte("Error opening repo: " + err.Error())) + fmt.Fprintln(w, "Error opening repo:", err.Error()) return } ref, err := repo.Reference(plumbing.NewBranchReferenceName(ref_name), true) if err != nil { - _, _ = w.Write([]byte("Error getting repo reference: " + err.Error())) + fmt.Fprintln(w, "Error getting repo reference:", err.Error()) return } ref_hash := ref.Hash() commits, err := get_recent_commits(repo, ref_hash, -1) if err != nil { - _, _ = w.Write([]byte("Error getting recent commits: " + err.Error())) + fmt.Fprintln(w, "Error getting recent commits:", err.Error()) return } params["commits"] = commits err = templates.ExecuteTemplate(w, "repo_log", params) if err != nil { - _, _ = w.Write([]byte("Error rendering template: " + err.Error())) + fmt.Fprintln(w, "Error rendering template:", err.Error()) return } } diff --git a/http_handle_repo_raw.go b/http_handle_repo_raw.go index e647e320368a29b882c238d3fe720b5ba9e5479e..65446102b32d0039c8a1b02562e6ef44dcacbce3 100644 --- a/http_handle_repo_raw.go +++ b/http_handle_repo_raw.go @@ -1,6 +1,7 @@ package main import ( + "fmt" "errors" "net/http" "path" @@ -18,7 +19,7 @@ if err != nil { if errors.Is(err, err_no_ref_spec) { ref_type = "head" } else { - _, _ = w.Write([]byte("Error querying ref type: " + err.Error())) + fmt.Fprintln(w, "Error querying ref type:", err.Error()) return } } @@ -27,24 +28,24 @@ params["ref_type"], params["ref"], params["path_spec"] = ref_type, ref_name, path_spec repo, err := open_git_repo(r.Context(), group_name, repo_name) if err != nil { - _, _ = w.Write([]byte("Error opening repo: " + err.Error())) + fmt.Fprintln(w, "Error opening repo:", err.Error()) return } ref_hash, err := get_ref_hash_from_type_and_name(repo, ref_type, ref_name) if err != nil { - _, _ = w.Write([]byte("Error getting ref hash: " + err.Error())) + fmt.Fprintln(w, "Error getting ref hash:", err.Error()) return } commit_object, err := repo.CommitObject(ref_hash) if err != nil { - _, _ = w.Write([]byte("Error getting commit object: " + err.Error())) + fmt.Fprintln(w, "Error getting commit object:", err.Error()) return } tree, err := commit_object.Tree() if err != nil { - _, _ = w.Write([]byte("Error getting file tree: " + err.Error())) + fmt.Fprintln(w, "Error getting file tree:", err.Error()) return } @@ -56,7 +57,7 @@ target, err = tree.Tree(path_spec) if err != nil { file, err := tree.File(path_spec) if err != nil { - _, _ = w.Write([]byte("Error retrieving path: " + err.Error())) + fmt.Fprintln(w, "Error retrieving path:", err.Error()) return } if len(raw_path_spec) != 0 && raw_path_spec[len(raw_path_spec)-1] == '/' { @@ -65,10 +66,10 @@ return } file_contents, err := file.Contents() if err != nil { - _, _ = w.Write([]byte("Error reading file: " + err.Error())) + fmt.Fprintln(w, "Error reading file:", err.Error()) return } - _, _ = w.Write([]byte(file_contents)) + fmt.Fprintln(w, file_contents) return } } @@ -82,7 +83,7 @@ params["files"] = build_display_git_tree(target) err = templates.ExecuteTemplate(w, "repo_raw_dir", params) if err != nil { - _, _ = w.Write([]byte("Error rendering template: " + err.Error())) + fmt.Fprintln(w, "Error rendering template:", err.Error()) return } } diff --git a/http_handle_repo_tree.go b/http_handle_repo_tree.go index 0132239f806da6b4a4fbe57ca81a6b79c9b8c3ec..acc03e41c4b5fdeba133d6add02b103e18545f50 100644 --- a/http_handle_repo_tree.go +++ b/http_handle_repo_tree.go @@ -3,6 +3,7 @@ import ( "bytes" "errors" + "fmt" "html/template" "net/http" "path" @@ -22,29 +23,29 @@ if err != nil { if errors.Is(err, err_no_ref_spec) { ref_type = "head" } else { - _, _ = w.Write([]byte("Error querying ref type: " + err.Error())) + fmt.Fprintln(w, "Error querying ref type:", err.Error()) return } } params["ref_type"], params["ref"], params["path_spec"] = ref_type, ref_name, path_spec repo, err := open_git_repo(r.Context(), group_name, repo_name) if err != nil { - _, _ = w.Write([]byte("Error opening repo: " + err.Error())) + fmt.Fprintln(w, "Error opening repo:", err.Error()) return } ref_hash, err := get_ref_hash_from_type_and_name(repo, ref_type, ref_name) if err != nil { - _, _ = w.Write([]byte("Error getting ref hash: " + err.Error())) + fmt.Fprintln(w, "Error getting ref hash:", err.Error()) return } commit_object, err := repo.CommitObject(ref_hash) if err != nil { - _, _ = w.Write([]byte("Error getting commit object: " + err.Error())) + fmt.Fprintln(w, "Error getting commit object:", err.Error()) return } tree, err := commit_object.Tree() if err != nil { - _, _ = w.Write([]byte("Error getting file tree: " + err.Error())) + fmt.Fprintln(w, "Error getting file tree:", err.Error()) return } @@ -56,7 +57,7 @@ target, err = tree.Tree(path_spec) if err != nil { file, err := tree.File(path_spec) if err != nil { - _, _ = w.Write([]byte("Error retrieving path: " + err.Error())) + fmt.Fprintln(w, "Error retrieving path:", err.Error()) return } if len(raw_path_spec) != 0 && raw_path_spec[len(raw_path_spec)-1] == '/' { @@ -65,7 +66,7 @@ return } file_contents, err := file.Contents() if err != nil { - _, _ = w.Write([]byte("Error reading file: " + err.Error())) + fmt.Fprintln(w, "Error reading file:", err.Error()) return } lexer := chroma_lexers.Match(path_spec) @@ -74,7 +75,7 @@ lexer = chroma_lexers.Fallback } iterator, err := lexer.Tokenise(nil, file_contents) if err != nil { - _, _ = w.Write([]byte("Error tokenizing code: " + err.Error())) + fmt.Fprintln(w, "Error tokenizing code:", err.Error()) return } var formatted_unencapsulated bytes.Buffer @@ -82,7 +83,7 @@ style := chroma_styles.Get("autumn") formatter := chroma_formatters_html.New(chroma_formatters_html.WithClasses(true), chroma_formatters_html.TabWidth(8)) err = formatter.Format(&formatted_unencapsulated, style, iterator) if err != nil { - _, _ = w.Write([]byte("Error formatting code: " + err.Error())) + fmt.Fprintln(w, "Error formatting code:", err.Error()) return } formatted_encapsulated := template.HTML(formatted_unencapsulated.Bytes()) @@ -90,7 +91,7 @@ params["file_contents"] = formatted_encapsulated err = templates.ExecuteTemplate(w, "repo_tree_file", params) if err != nil { - _, _ = w.Write([]byte("Error rendering template: " + err.Error())) + fmt.Fprintln(w, "Error rendering template:", err.Error()) return } return @@ -107,7 +108,7 @@ params["files"] = build_display_git_tree(target) err = templates.ExecuteTemplate(w, "repo_tree_dir", params) if err != nil { - _, _ = w.Write([]byte("Error rendering template: " + err.Error())) + fmt.Fprintln(w, "Error rendering template:", err.Error()) return } } -- 2.48.1