all repos — elgit @ f41c7baefd86bf8db0e5f096c449997d9427f813

fork of legit: web frontend for git, written in go

configure golangci-lint

Alan Pearce
commit

f41c7baefd86bf8db0e5f096c449997d9427f813

parent

721a55a5b5ab180d4828e8de8175b24ca8d244f3

1 file changed, 55 insertions(+), 12 deletions(-)

changed files
M routes/routes.goroutes/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 } }