configure golangci-lint
1 file changed, 55 insertions(+), 12 deletions(-)
changed files
M routes/routes.go → routes/routes.go
@@ -22,7 +22,7 @@ c *config.Config projects []string } -func (d *deps) Index(w http.ResponseWriter, r *http.Request, params map[string]string) { +func (d *deps) Index(w http.ResponseWriter, _ *http.Request, _ map[string]string) { repos := d.getAllRepos() pageData := templates.PageData{@@ -31,27 +31,31 @@ } if err := templates.IndexPage(pageData, repos).Render(w); err != nil { log.Println(err) + return } } -func (d *deps) RepoIndex(w http.ResponseWriter, r *http.Request, params map[string]string) { +func (d *deps) RepoIndex(w http.ResponseWriter, _ *http.Request, params map[string]string) { name := path.Join(params["category"], params["name"]) if d.isNotAllowed(name) { d.Write404(w) + return } path, err := d.GetCleanPath(name) if err != nil { log.Printf("getcleanpath error: %v", err) d.Write404(w) + return } gr, err := git.Open(path, "") if err != nil { d.Write404(w) + return }@@ -59,6 +63,7 @@ commits, err := gr.Commits() if err != nil { d.Write500(w) log.Println(err) + return }@@ -79,6 +84,7 @@ default: safe := bluemonday.UGCPolicy().SanitizeBytes([]byte(content)) readmeContent = fmt.Sprintf(`<pre>%s</pre>`, safe) } + break } }@@ -87,6 +93,7 @@ mainBranch, err := gr.FindMainBranch(d.c.Repo.MainBranch) if err != nil { d.Write500(w) log.Println(err) + return }@@ -109,10 +116,11 @@ log.Println(err) } } -func (d *deps) RepoTree(w http.ResponseWriter, r *http.Request, params map[string]string) { +func (d *deps) RepoTree(w http.ResponseWriter, _ *http.Request, params map[string]string) { name := path.Join(params["category"], params["name"]) if d.isNotAllowed(name) { d.Write404(w) + return } treePath := strings.TrimSuffix(params["rest"], "/")@@ -122,11 +130,13 @@ path, err := d.GetCleanPath(name) if err != nil { log.Printf("getcleanpath error: %v", err) d.Write404(w) + return } gr, err := git.Open(path, ref) if err != nil { d.Write404(w) + return }@@ -134,6 +144,7 @@ files, err := gr.FileTree(treePath) if err != nil { d.Write500(w) log.Println(err, treePath) + return }@@ -157,6 +168,7 @@ name := path.Join(params["category"], params["name"]) if d.isNotAllowed(name) { d.Write404(w) + return } treePath := params["rest"]@@ -166,18 +178,21 @@ path, err := d.GetCleanPath(name) if err != nil { log.Printf("getcleanpath error: %v", err) d.Write404(w) + return } gr, err := git.Open(path, ref) if err != nil { d.Write404(w) + return } contents, err := gr.FileContent(treePath) if err != nil { d.Write500(w) + return } data := make(map[string]any)@@ -198,25 +213,25 @@ } } } -func (d *deps) Archive(w http.ResponseWriter, r *http.Request, params map[string]string) { +func (d *deps) Archive(w http.ResponseWriter, _ *http.Request, params map[string]string) { name := path.Join(params["category"], params["name"]) if d.isNotAllowed(name) { d.Write404(w) + return } file := params["file"] - // TODO: extend this to add more files compression (e.g.: xz) if !strings.HasSuffix(file, ".tar.gz") { d.Write404(w) + return } ref := strings.TrimSuffix(file, ".tar.gz") - // This allows the browser to use a proper name for the file when - // downloading + // This allows the browser to use a proper name for the file when downloading filename := fmt.Sprintf("%s-%s.tar.gz", name, ref) setContentDisposition(w, filename) setGZipMIME(w)@@ -225,17 +240,24 @@ path, err := d.GetCleanPath(name) if err != nil { log.Printf("getcleanpath error: %v", err) d.Write404(w) + return } gr, err := git.Open(path, ref) if err != nil { d.Write404(w) + return } gw := gzip.NewWriter(w) - defer gw.Close() + defer func() { + err := gw.Close() + if err != nil { + log.Printf("failed to close gzip writer: %s", err) + } + }() prefix := fmt.Sprintf("%s-%s", name, ref) err = gr.WriteTar(gw, prefix)@@ -243,6 +265,7 @@ if err != nil { // once we start writing to the body we can't report error anymore // so we are only left with printing the error. log.Println(err) + return }@@ -251,14 +274,16 @@ if err != nil { // once we start writing to the body we can't report error anymore // so we are only left with printing the error. log.Println(err) + return } } -func (d *deps) Log(w http.ResponseWriter, r *http.Request, params map[string]string) { +func (d *deps) Log(w http.ResponseWriter, _ *http.Request, params map[string]string) { name := path.Join(params["category"], params["name"]) if d.isNotAllowed(name) { d.Write404(w) + return } ref := params["ref"]@@ -267,12 +292,14 @@ path, err := d.GetCleanPath(name) if err != nil { log.Printf("getcleanpath error: %v", err) d.Write404(w) + return } gr, err := git.Open(path, ref) if err != nil { d.Write404(w) + return }@@ -280,6 +307,7 @@ commits, err := gr.Commits() if err != nil { d.Write500(w) log.Println(err) + return }@@ -294,14 +322,16 @@ } if err := templates.LogPage(pageData, commits).Render(w); err != nil { log.Println(err) + return } } -func (d *deps) Diff(w http.ResponseWriter, r *http.Request, params map[string]string) { +func (d *deps) Diff(w http.ResponseWriter, _ *http.Request, params map[string]string) { name := path.Join(params["category"], params["name"]) if d.isNotAllowed(name) { d.Write404(w) + return } ref := params["ref"]@@ -310,11 +340,13 @@ path, err := d.GetCleanPath(name) if err != nil { log.Printf("getcleanpath error: %v", err) d.Write404(w) + return } gr, err := git.Open(path, ref) if err != nil { d.Write404(w) + return }@@ -322,6 +354,7 @@ diff, err := gr.Diff() if err != nil { d.Write500(w) log.Println(err) + return }@@ -337,15 +370,17 @@ } if err := templates.CommitPage(pageData, diff).Render(w); err != nil { log.Println(err) + return } } // FileDiff shows the changes to a specific file in a commit -func (d *deps) FileDiff(w http.ResponseWriter, r *http.Request, params map[string]string) { +func (d *deps) FileDiff(w http.ResponseWriter, _ *http.Request, params map[string]string) { name := path.Join(params["category"], params["name"]) if d.isNotAllowed(name) { d.Write404(w) + return } ref := params["ref"]@@ -355,6 +390,7 @@ path, err := d.GetCleanPath(name) if err != nil { log.Printf("getcleanpath error: %v", err) d.Write404(w) + return }@@ -362,6 +398,7 @@ g, err := git.Open(path, ref) if err != nil { log.Printf("git open error: %v", err) d.Write404(w) + return }@@ -369,6 +406,7 @@ diff, err := g.DiffFile(filePath) if err != nil { log.Printf("git diff error: %v", err) d.Write500(w) + return }@@ -388,10 +426,11 @@ d.Write500(w) } } -func (d *deps) Refs(w http.ResponseWriter, r *http.Request, params map[string]string) { +func (d *deps) Refs(w http.ResponseWriter, _ *http.Request, params map[string]string) { name := path.Join(params["category"], params["name"]) if d.isNotAllowed(name) { d.Write404(w) + return }@@ -399,12 +438,14 @@ path, err := d.GetCleanPath(name) if err != nil { log.Printf("getcleanpath error: %v", err) d.Write404(w) + return } gr, err := git.Open(path, "") if err != nil { d.Write404(w) + return }@@ -418,6 +459,7 @@ branches, err := gr.Branches() if err != nil { log.Println(err) d.Write500(w) + return }@@ -430,6 +472,7 @@ } if err := templates.RefsPage(pageData, branches, tags).Render(w); err != nil { log.Println(err) + return } }