summaryrefslogtreecommitdiffstats
path: root/routers/repo
diff options
context:
space:
mode:
Diffstat (limited to 'routers/repo')
-rw-r--r--routers/repo/blame.go2
-rw-r--r--routers/repo/commit.go3
-rw-r--r--routers/repo/download.go20
-rw-r--r--routers/repo/editor.go12
-rw-r--r--routers/repo/http.go57
-rw-r--r--routers/repo/issue.go11
-rw-r--r--routers/repo/issue_label.go1
-rw-r--r--routers/repo/milestone.go3
-rw-r--r--routers/repo/pull.go4
-rw-r--r--routers/repo/setting.go5
-rw-r--r--routers/repo/view.go4
-rw-r--r--routers/repo/webhook.go14
12 files changed, 84 insertions, 52 deletions
diff --git a/routers/repo/blame.go b/routers/repo/blame.go
index 964fdc8746..2b2f45f0bb 100644
--- a/routers/repo/blame.go
+++ b/routers/repo/blame.go
@@ -192,7 +192,7 @@ func RefBlame(ctx *context.Context) {
func renderBlame(ctx *context.Context, blameParts []models.BlamePart, commitNames map[string]models.UserCommit) {
repoLink := ctx.Repo.RepoLink
- var lines = make([]string, 0, 0)
+ var lines = make([]string, 0)
var commitInfo bytes.Buffer
var lineNumbers bytes.Buffer
diff --git a/routers/repo/commit.go b/routers/repo/commit.go
index dde6d8f321..4dbedea2a0 100644
--- a/routers/repo/commit.go
+++ b/routers/repo/commit.go
@@ -261,6 +261,9 @@ func Diff(ctx *context.Context) {
}
ctx.Data["RawPath"] = setting.AppSubURL + "/" + path.Join(userName, repoName, "raw", "commit", commitID)
ctx.Data["BranchName"], err = commit.GetBranchName()
+ if err != nil {
+ ctx.ServerError("commit.GetBranchName", err)
+ }
ctx.HTML(200, tplCommitPage)
}
diff --git a/routers/repo/download.go b/routers/repo/download.go
index 41c4a18102..2da8b109ca 100644
--- a/routers/repo/download.go
+++ b/routers/repo/download.go
@@ -15,6 +15,7 @@ import (
"code.gitea.io/gitea/modules/context"
"code.gitea.io/gitea/modules/git"
"code.gitea.io/gitea/modules/lfs"
+ "code.gitea.io/gitea/modules/log"
)
// ServeData download file from io.Reader
@@ -39,8 +40,11 @@ func ServeData(ctx *context.Context, name string, reader io.Reader) error {
ctx.Resp.Header().Set("Content-Disposition", fmt.Sprintf(`attachment; filename="%s"`, name))
}
- ctx.Resp.Write(buf)
- _, err := io.Copy(ctx.Resp, reader)
+ _, err := ctx.Resp.Write(buf)
+ if err != nil {
+ return err
+ }
+ _, err = io.Copy(ctx.Resp, reader)
return err
}
@@ -50,7 +54,11 @@ func ServeBlob(ctx *context.Context, blob *git.Blob) error {
if err != nil {
return err
}
- defer dataRc.Close()
+ defer func() {
+ if err = dataRc.Close(); err != nil {
+ log.Error("ServeBlob: Close: %v", err)
+ }
+ }()
return ServeData(ctx, ctx.Repo.TreePath, dataRc)
}
@@ -61,7 +69,11 @@ func ServeBlobOrLFS(ctx *context.Context, blob *git.Blob) error {
if err != nil {
return err
}
- defer dataRc.Close()
+ defer func() {
+ if err = dataRc.Close(); err != nil {
+ log.Error("ServeBlobOrLFS: Close: %v", err)
+ }
+ }()
if meta, _ := lfs.ReadPointerFile(dataRc); meta != nil {
meta, _ = ctx.Repo.Repository.GetLFSMetaObjectByOid(meta.Oid)
diff --git a/routers/repo/editor.go b/routers/repo/editor.go
index 46f12d66d2..062ecfebf7 100644
--- a/routers/repo/editor.go
+++ b/routers/repo/editor.go
@@ -118,9 +118,7 @@ func editFile(ctx *context.Context, isNewFile bool) {
d, _ := ioutil.ReadAll(dataRc)
buf = append(buf, d...)
if content, err := templates.ToUTF8WithErr(buf); err != nil {
- if err != nil {
- log.Error("ToUTF8WithErr: %v", err)
- }
+ log.Error("ToUTF8WithErr: %v", err)
ctx.Data["FileContent"] = string(buf)
} else {
ctx.Data["FileContent"] = content
@@ -235,16 +233,12 @@ func editFilePost(ctx *context.Context, form auth.EditRepoFileForm, isNewFile bo
switch fileErr.Type {
case git.EntryModeSymlink:
ctx.RenderWithErr(ctx.Tr("repo.editor.file_is_a_symlink", fileErr.Path), tplEditFile, &form)
- break
case git.EntryModeTree:
ctx.RenderWithErr(ctx.Tr("repo.editor.filename_is_a_directory", fileErr.Path), tplEditFile, &form)
- break
case git.EntryModeBlob:
ctx.RenderWithErr(ctx.Tr("repo.editor.directory_is_a_file", fileErr.Path), tplEditFile, &form)
- break
default:
ctx.Error(500, err.Error())
- break
}
} else {
ctx.Error(500, err.Error())
@@ -403,16 +397,12 @@ func DeleteFilePost(ctx *context.Context, form auth.DeleteRepoFileForm) {
switch fileErr.Type {
case git.EntryModeSymlink:
ctx.RenderWithErr(ctx.Tr("repo.editor.file_is_a_symlink", fileErr.Path), tplEditFile, &form)
- break
case git.EntryModeTree:
ctx.RenderWithErr(ctx.Tr("repo.editor.filename_is_a_directory", fileErr.Path), tplEditFile, &form)
- break
case git.EntryModeBlob:
ctx.RenderWithErr(ctx.Tr("repo.editor.directory_is_a_file", fileErr.Path), tplEditFile, &form)
- break
default:
ctx.ServerError("DeleteRepoFile", err)
- break
}
} else {
ctx.ServerError("DeleteRepoFile", err)
diff --git a/routers/repo/http.go b/routers/repo/http.go
index 214e2f3411..3072209448 100644
--- a/routers/repo/http.go
+++ b/routers/repo/http.go
@@ -206,10 +206,8 @@ func HTTP(ctx *context.Context) {
if err = models.UpdateAccessToken(token); err != nil {
ctx.ServerError("UpdateAccessToken", err)
}
- } else {
- if !models.IsErrAccessTokenNotExist(err) && !models.IsErrAccessTokenEmpty(err) {
- log.Error("GetAccessTokenBySha: %v", err)
- }
+ } else if !models.IsErrAccessTokenNotExist(err) && !models.IsErrAccessTokenEmpty(err) {
+ log.Error("GetAccessTokenBySha: %v", err)
}
if authUser == nil {
@@ -332,17 +330,17 @@ type route struct {
}
var routes = []route{
- {regexp.MustCompile("(.*?)/git-upload-pack$"), "POST", serviceUploadPack},
- {regexp.MustCompile("(.*?)/git-receive-pack$"), "POST", serviceReceivePack},
- {regexp.MustCompile("(.*?)/info/refs$"), "GET", getInfoRefs},
- {regexp.MustCompile("(.*?)/HEAD$"), "GET", getTextFile},
- {regexp.MustCompile("(.*?)/objects/info/alternates$"), "GET", getTextFile},
- {regexp.MustCompile("(.*?)/objects/info/http-alternates$"), "GET", getTextFile},
- {regexp.MustCompile("(.*?)/objects/info/packs$"), "GET", getInfoPacks},
- {regexp.MustCompile("(.*?)/objects/info/[^/]*$"), "GET", getTextFile},
- {regexp.MustCompile("(.*?)/objects/[0-9a-f]{2}/[0-9a-f]{38}$"), "GET", getLooseObject},
- {regexp.MustCompile("(.*?)/objects/pack/pack-[0-9a-f]{40}\\.pack$"), "GET", getPackFile},
- {regexp.MustCompile("(.*?)/objects/pack/pack-[0-9a-f]{40}\\.idx$"), "GET", getIdxFile},
+ {regexp.MustCompile(`(.*?)/git-upload-pack$`), "POST", serviceUploadPack},
+ {regexp.MustCompile(`(.*?)/git-receive-pack$`), "POST", serviceReceivePack},
+ {regexp.MustCompile(`(.*?)/info/refs$`), "GET", getInfoRefs},
+ {regexp.MustCompile(`(.*?)/HEAD$`), "GET", getTextFile},
+ {regexp.MustCompile(`(.*?)/objects/info/alternates$`), "GET", getTextFile},
+ {regexp.MustCompile(`(.*?)/objects/info/http-alternates$`), "GET", getTextFile},
+ {regexp.MustCompile(`(.*?)/objects/info/packs$`), "GET", getInfoPacks},
+ {regexp.MustCompile(`(.*?)/objects/info/[^/]*$`), "GET", getTextFile},
+ {regexp.MustCompile(`(.*?)/objects/[0-9a-f]{2}/[0-9a-f]{38}$`), "GET", getLooseObject},
+ {regexp.MustCompile(`(.*?)/objects/pack/pack-[0-9a-f]{40}\.pack$`), "GET", getPackFile},
+ {regexp.MustCompile(`(.*?)/objects/pack/pack-[0-9a-f]{40}\.idx$`), "GET", getIdxFile},
}
// FIXME: use process module
@@ -393,7 +391,12 @@ func hasAccess(service string, h serviceHandler, checkContentType bool) bool {
}
func serviceRPC(h serviceHandler, service string) {
- defer h.r.Body.Close()
+ defer func() {
+ if err := h.r.Body.Close(); err != nil {
+ log.Error("serviceRPC: Close: %v", err)
+ }
+
+ }()
if !hasAccess(service, h, true) {
h.w.WriteHeader(http.StatusUnauthorized)
@@ -469,9 +472,9 @@ func getInfoRefs(h serviceHandler) {
h.w.Header().Set("Content-Type", fmt.Sprintf("application/x-git-%s-advertisement", service))
h.w.WriteHeader(http.StatusOK)
- h.w.Write(packetWrite("# service=git-" + service + "\n"))
- h.w.Write([]byte("0000"))
- h.w.Write(refs)
+ _, _ = h.w.Write(packetWrite("# service=git-" + service + "\n"))
+ _, _ = h.w.Write([]byte("0000"))
+ _, _ = h.w.Write(refs)
} else {
updateServerInfo(h.dir)
h.sendFile("text/plain; charset=utf-8")
@@ -524,16 +527,25 @@ func HTTPBackend(ctx *context.Context, cfg *serviceConfig) http.HandlerFunc {
if m := route.reg.FindStringSubmatch(r.URL.Path); m != nil {
if setting.Repository.DisableHTTPGit {
w.WriteHeader(http.StatusForbidden)
- w.Write([]byte("Interacting with repositories by HTTP protocol is not allowed"))
+ _, err := w.Write([]byte("Interacting with repositories by HTTP protocol is not allowed"))
+ if err != nil {
+ log.Error(err.Error())
+ }
return
}
if route.method != r.Method {
if r.Proto == "HTTP/1.1" {
w.WriteHeader(http.StatusMethodNotAllowed)
- w.Write([]byte("Method Not Allowed"))
+ _, err := w.Write([]byte("Method Not Allowed"))
+ if err != nil {
+ log.Error(err.Error())
+ }
} else {
w.WriteHeader(http.StatusBadRequest)
- w.Write([]byte("Bad Request"))
+ _, err := w.Write([]byte("Bad Request"))
+ if err != nil {
+ log.Error(err.Error())
+ }
}
return
}
@@ -552,6 +564,5 @@ func HTTPBackend(ctx *context.Context, cfg *serviceConfig) http.HandlerFunc {
}
ctx.NotFound("HTTPBackend", nil)
- return
}
}
diff --git a/routers/repo/issue.go b/routers/repo/issue.go
index cd384da0d6..3904d29532 100644
--- a/routers/repo/issue.go
+++ b/routers/repo/issue.go
@@ -945,7 +945,15 @@ func ViewIssue(ctx *context.Context) {
// Get Dependencies
ctx.Data["BlockedByDependencies"], err = issue.BlockedByDependencies()
+ if err != nil {
+ ctx.ServerError("BlockedByDependencies", err)
+ return
+ }
ctx.Data["BlockingDependencies"], err = issue.BlockingDependencies()
+ if err != nil {
+ ctx.ServerError("BlockingDependencies", err)
+ return
+ }
ctx.Data["Participants"] = participants
ctx.Data["NumParticipants"] = len(participants)
@@ -1226,7 +1234,8 @@ func NewComment(ctx *context.Context, form auth.CreateCommentForm) {
if form.Status == "reopen" && issue.IsPull {
pull := issue.PullRequest
- pr, err := models.GetUnmergedPullRequest(pull.HeadRepoID, pull.BaseRepoID, pull.HeadBranch, pull.BaseBranch)
+ var err error
+ pr, err = models.GetUnmergedPullRequest(pull.HeadRepoID, pull.BaseRepoID, pull.HeadBranch, pull.BaseBranch)
if err != nil {
if !models.IsErrPullRequestNotExist(err) {
ctx.ServerError("GetUnmergedPullRequest", err)
diff --git a/routers/repo/issue_label.go b/routers/repo/issue_label.go
index 556a24c33e..cae6535c79 100644
--- a/routers/repo/issue_label.go
+++ b/routers/repo/issue_label.go
@@ -129,7 +129,6 @@ func DeleteLabel(ctx *context.Context) {
ctx.JSON(200, map[string]interface{}{
"redirect": ctx.Repo.RepoLink + "/labels",
})
- return
}
// UpdateIssueLabel change issue's labels
diff --git a/routers/repo/milestone.go b/routers/repo/milestone.go
index 644f7e043b..3ad638e60a 100644
--- a/routers/repo/milestone.go
+++ b/routers/repo/milestone.go
@@ -19,7 +19,6 @@ import (
const (
tplMilestone base.TplName = "repo/issue/milestones"
tplMilestoneNew base.TplName = "repo/issue/milestone_new"
- tplMilestoneEdit base.TplName = "repo/issue/milestone_edit"
tplMilestoneIssues base.TplName = "repo/issue/milestone_issues"
)
@@ -57,7 +56,7 @@ func Milestones(ctx *context.Context) {
return
}
if ctx.Repo.Repository.IsTimetrackerEnabled() {
- if miles.LoadTotalTrackedTimes(); err != nil {
+ if err := miles.LoadTotalTrackedTimes(); err != nil {
ctx.ServerError("LoadTotalTrackedTimes", err)
return
}
diff --git a/routers/repo/pull.go b/routers/repo/pull.go
index 71c684356d..5be8aa57c1 100644
--- a/routers/repo/pull.go
+++ b/routers/repo/pull.go
@@ -793,10 +793,10 @@ func CleanUpPullRequest(ctx *context.Context) {
// Forked repository has already been deleted
ctx.NotFound("CleanUpPullRequest", nil)
return
- } else if pr.GetBaseRepo(); err != nil {
+ } else if err = pr.GetBaseRepo(); err != nil {
ctx.ServerError("GetBaseRepo", err)
return
- } else if pr.HeadRepo.GetOwner(); err != nil {
+ } else if err = pr.HeadRepo.GetOwner(); err != nil {
ctx.ServerError("HeadRepo.GetOwner", err)
return
}
diff --git a/routers/repo/setting.go b/routers/repo/setting.go
index 767cdacde0..757295069e 100644
--- a/routers/repo/setting.go
+++ b/routers/repo/setting.go
@@ -419,7 +419,10 @@ func SettingsPost(ctx *context.Context, form auth.RepoSettingForm) {
return
}
- repo.DeleteWiki()
+ err := repo.DeleteWiki()
+ if err != nil {
+ log.Error("Delete Wiki: %v", err.Error())
+ }
log.Trace("Repository wiki deleted: %s/%s", ctx.Repo.Owner.Name, repo.Name)
ctx.Flash.Success(ctx.Tr("repo.settings.wiki_deletion_success"))
diff --git a/routers/repo/view.go b/routers/repo/view.go
index 3483a53a0d..edaf24017c 100644
--- a/routers/repo/view.go
+++ b/routers/repo/view.go
@@ -294,9 +294,7 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink st
// Building code view blocks with line number on server side.
var fileContent string
if content, err := templates.ToUTF8WithErr(buf); err != nil {
- if err != nil {
- log.Error("ToUTF8WithErr: %v", err)
- }
+ log.Error("ToUTF8WithErr: %v", err)
fileContent = string(buf)
} else {
fileContent = content
diff --git a/routers/repo/webhook.go b/routers/repo/webhook.go
index 8daf721b50..20a3a45c18 100644
--- a/routers/repo/webhook.go
+++ b/routers/repo/webhook.go
@@ -197,12 +197,20 @@ func WebHooksNewPost(ctx *context.Context, form auth.NewWebhookForm) {
}
// GogsHooksNewPost response for creating webhook
-func GogsHooksNewPost(ctx *context.Context, form auth.NewGogshookForm) {
+func GogsHooksNewPost(ctx *context.Context, form auth.NewWebhookForm) {
+ newGenericWebhookPost(ctx, form, models.GOGS)
+}
+
+func newGenericWebhookPost(ctx *context.Context, form auth.NewWebhookForm, kind models.HookTaskType) {
ctx.Data["Title"] = ctx.Tr("repo.settings.add_webhook")
ctx.Data["PageIsSettingsHooks"] = true
ctx.Data["PageIsSettingsHooksNew"] = true
ctx.Data["Webhook"] = models.Webhook{HookEvent: &models.HookEvent{}}
- ctx.Data["HookType"] = "gogs"
+
+ ctx.Data["HookType"] = "gitea"
+ if kind == models.GOGS {
+ ctx.Data["HookType"] = "gogs"
+ }
orCtx, err := getOrgRepoCtx(ctx)
if err != nil {
@@ -228,7 +236,7 @@ func GogsHooksNewPost(ctx *context.Context, form auth.NewGogshookForm) {
Secret: form.Secret,
HookEvent: ParseHookEvent(form.WebhookForm),
IsActive: form.Active,
- HookTaskType: models.GOGS,
+ HookTaskType: kind,
OrgID: orCtx.OrgID,
}
if err := w.UpdateEvent(); err != nil {