From c4d70a032564f610b7215d3d3973943abbc7395f Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Wed, 11 Aug 2021 02:31:13 +0200 Subject: [PATCH] Rename ctx.Form() to ctx.FormString() and move code into own file (#16571) Followup from #16562 prepare for #16567 * Rename ctx.Form() to ctx.FormString() * Reimplement FormX func to need less code and cpu cycles * Move code into own file --- modules/context/context.go | 36 --- modules/context/form.go | 231 +++---------------- modules/context/repo.go | 8 +- routers/api/v1/admin/adopt.go | 2 +- routers/api/v1/api.go | 2 +- routers/api/v1/notify/repo.go | 4 +- routers/api/v1/notify/threads.go | 2 +- routers/api/v1/notify/user.go | 4 +- routers/api/v1/org/label.go | 2 +- routers/api/v1/org/team.go | 4 +- routers/api/v1/repo/commits.go | 2 +- routers/api/v1/repo/issue.go | 22 +- routers/api/v1/repo/issue_tracked_time.go | 4 +- routers/api/v1/repo/key.go | 2 +- routers/api/v1/repo/label.go | 2 +- routers/api/v1/repo/milestone.go | 4 +- routers/api/v1/repo/release_attachment.go | 2 +- routers/api/v1/repo/repo.go | 16 +- routers/api/v1/repo/topic.go | 2 +- routers/api/v1/user/key.go | 2 +- routers/api/v1/user/user.go | 2 +- routers/api/v1/utils/utils.go | 2 +- routers/private/key.go | 2 +- routers/web/admin/admin.go | 12 +- routers/web/admin/emails.go | 14 +- routers/web/admin/repos.go | 10 +- routers/web/explore/code.go | 6 +- routers/web/explore/repo.go | 6 +- routers/web/explore/user.go | 6 +- routers/web/goget.go | 2 +- routers/web/org/home.go | 6 +- routers/web/org/org_labels.go | 4 +- routers/web/org/setting.go | 2 +- routers/web/org/teams.go | 6 +- routers/web/repo/attachment.go | 2 +- routers/web/repo/branch.go | 4 +- routers/web/repo/commit.go | 2 +- routers/web/repo/compare.go | 6 +- routers/web/repo/http.go | 4 +- routers/web/repo/issue.go | 46 ++-- routers/web/repo/issue_label.go | 8 +- routers/web/repo/lfs.go | 6 +- routers/web/repo/middlewares.go | 4 +- routers/web/repo/migrate.go | 20 +- routers/web/repo/milestone.go | 6 +- routers/web/repo/pull.go | 4 +- routers/web/repo/pull_review.go | 4 +- routers/web/repo/release.go | 2 +- routers/web/repo/repo.go | 6 +- routers/web/repo/search.go | 6 +- routers/web/repo/setting.go | 10 +- routers/web/repo/setting_protected_branch.go | 4 +- routers/web/repo/topic.go | 2 +- routers/web/repo/view.go | 2 +- routers/web/user/auth.go | 26 +-- routers/web/user/auth_openid.go | 4 +- routers/web/user/home.go | 30 +-- routers/web/user/notification.go | 8 +- routers/web/user/profile.go | 12 +- routers/web/user/setting/account.go | 10 +- routers/web/user/setting/adopt.go | 4 +- routers/web/user/setting/keys.go | 4 +- routers/web/user/setting/security.go | 2 +- services/lfs/locks.go | 4 +- 64 files changed, 236 insertions(+), 449 deletions(-) diff --git a/modules/context/context.go b/modules/context/context.go index 041b81c668..3dbc2bb9dc 100644 --- a/modules/context/context.go +++ b/modules/context/context.go @@ -28,7 +28,6 @@ import ( "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/templates" "code.gitea.io/gitea/modules/translation" - "code.gitea.io/gitea/modules/util" "code.gitea.io/gitea/modules/web/middleware" "code.gitea.io/gitea/services/auth" @@ -287,41 +286,6 @@ func (ctx *Context) Header() http.Header { return ctx.Resp.Header() } -// Form returns request form as string with default -func (ctx *Context) Form(key string, defaults ...string) string { - return (*Forms)(ctx.Req).MustString(key, defaults...) -} - -// FormTrim returns request form as string with default and trimmed spaces -func (ctx *Context) FormTrim(key string, defaults ...string) string { - return (*Forms)(ctx.Req).MustTrimmed(key, defaults...) -} - -// FormStrings returns request form as strings with default -func (ctx *Context) FormStrings(key string, defaults ...[]string) []string { - return (*Forms)(ctx.Req).MustStrings(key, defaults...) -} - -// FormInt returns request form as int with default -func (ctx *Context) FormInt(key string, defaults ...int) int { - return (*Forms)(ctx.Req).MustInt(key, defaults...) -} - -// FormInt64 returns request form as int64 with default -func (ctx *Context) FormInt64(key string, defaults ...int64) int64 { - return (*Forms)(ctx.Req).MustInt64(key, defaults...) -} - -// FormBool returns request form as bool with default -func (ctx *Context) FormBool(key string, defaults ...bool) bool { - return (*Forms)(ctx.Req).MustBool(key, defaults...) -} - -// FormOptionalBool returns request form as OptionalBool with default -func (ctx *Context) FormOptionalBool(key string, defaults ...util.OptionalBool) util.OptionalBool { - return (*Forms)(ctx.Req).MustOptionalBool(key, defaults...) -} - // HandleText handles HTTP status code func (ctx *Context) HandleText(status int, title string) { if (status/100 == 4) || (status/100 == 5) { diff --git a/modules/context/form.go b/modules/context/form.go index e3afad0a90..8d18590973 100644 --- a/modules/context/form.go +++ b/modules/context/form.go @@ -5,237 +5,60 @@ package context import ( - "errors" - "net/http" - "net/url" "strconv" "strings" - "text/template" - "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/util" ) -// Forms a new enhancement of http.Request -type Forms http.Request - -// Values returns http.Request values -func (f *Forms) Values() url.Values { - return (*http.Request)(f).Form +// FormString returns the first value matching the provided key in the form as a string +func (ctx *Context) FormString(key string) string { + return ctx.Req.FormValue(key) } -// String returns request form as string -func (f *Forms) String(key string) (string, error) { - return (*http.Request)(f).FormValue(key), nil -} - -// Trimmed returns request form as string with trimed spaces left and right -func (f *Forms) Trimmed(key string) (string, error) { - return strings.TrimSpace((*http.Request)(f).FormValue(key)), nil -} - -// Strings returns request form as strings -func (f *Forms) Strings(key string) ([]string, error) { - if (*http.Request)(f).Form == nil { - if err := (*http.Request)(f).ParseMultipartForm(32 << 20); err != nil { - return nil, err +// FormStrings returns a string slice for the provided key from the form +func (ctx *Context) FormStrings(key string) []string { + if ctx.Req.Form == nil { + if err := ctx.Req.ParseMultipartForm(32 << 20); err != nil { + return nil } } - if v, ok := (*http.Request)(f).Form[key]; ok { - return v, nil - } - return nil, errors.New("not exist") -} - -// Escape returns request form as escaped string -func (f *Forms) Escape(key string) (string, error) { - return template.HTMLEscapeString((*http.Request)(f).FormValue(key)), nil -} - -// Int returns request form as int -func (f *Forms) Int(key string) (int, error) { - return strconv.Atoi((*http.Request)(f).FormValue(key)) -} - -// Int32 returns request form as int32 -func (f *Forms) Int32(key string) (int32, error) { - v, err := strconv.ParseInt((*http.Request)(f).FormValue(key), 10, 32) - return int32(v), err -} - -// Int64 returns request form as int64 -func (f *Forms) Int64(key string) (int64, error) { - return strconv.ParseInt((*http.Request)(f).FormValue(key), 10, 64) -} - -// Uint returns request form as uint -func (f *Forms) Uint(key string) (uint, error) { - v, err := strconv.ParseUint((*http.Request)(f).FormValue(key), 10, 64) - return uint(v), err -} - -// Uint32 returns request form as uint32 -func (f *Forms) Uint32(key string) (uint32, error) { - v, err := strconv.ParseUint((*http.Request)(f).FormValue(key), 10, 32) - return uint32(v), err -} - -// Uint64 returns request form as uint64 -func (f *Forms) Uint64(key string) (uint64, error) { - return strconv.ParseUint((*http.Request)(f).FormValue(key), 10, 64) -} - -// Bool returns request form as bool -func (f *Forms) Bool(key string) (bool, error) { - return strconv.ParseBool((*http.Request)(f).FormValue(key)) -} - -// Float32 returns request form as float32 -func (f *Forms) Float32(key string) (float32, error) { - v, err := strconv.ParseFloat((*http.Request)(f).FormValue(key), 64) - return float32(v), err -} - -// Float64 returns request form as float64 -func (f *Forms) Float64(key string) (float64, error) { - return strconv.ParseFloat((*http.Request)(f).FormValue(key), 64) -} - -// MustString returns request form as string with default -func (f *Forms) MustString(key string, defaults ...string) string { - if v := (*http.Request)(f).FormValue(key); len(v) > 0 { + if v, ok := ctx.Req.Form[key]; ok { return v } - if len(defaults) > 0 { - return defaults[0] - } - return "" + return nil } -// MustTrimmed returns request form as string with default -func (f *Forms) MustTrimmed(key string, defaults ...string) string { - return strings.TrimSpace(f.MustString(key, defaults...)) +// FormTrim returns the first value for the provided key in the form as a space trimmed string +func (ctx *Context) FormTrim(key string) string { + return strings.TrimSpace(ctx.Req.FormValue(key)) } -// MustStrings returns request form as strings with default -func (f *Forms) MustStrings(key string, defaults ...[]string) []string { - if (*http.Request)(f).Form == nil { - if err := (*http.Request)(f).ParseMultipartForm(32 << 20); err != nil { - log.Error("ParseMultipartForm: %v", err) - return []string{} - } - } - - if v, ok := (*http.Request)(f).Form[key]; ok { - return v - } - if len(defaults) > 0 { - return defaults[0] - } - return []string{} -} - -// MustEscape returns request form as escaped string with default -func (f *Forms) MustEscape(key string, defaults ...string) string { - if v := (*http.Request)(f).FormValue(key); len(v) > 0 { - return template.HTMLEscapeString(v) - } - if len(defaults) > 0 { - return defaults[0] - } - return "" -} - -// MustInt returns request form as int with default -func (f *Forms) MustInt(key string, defaults ...int) int { - v, err := strconv.Atoi((*http.Request)(f).FormValue(key)) - if len(defaults) > 0 && err != nil { - return defaults[0] - } +// FormInt returns the first value for the provided key in the form as an int +func (ctx *Context) FormInt(key string) int { + v, _ := strconv.Atoi(ctx.Req.FormValue(key)) return v } -// MustInt32 returns request form as int32 with default -func (f *Forms) MustInt32(key string, defaults ...int32) int32 { - v, err := strconv.ParseInt((*http.Request)(f).FormValue(key), 10, 32) - if len(defaults) > 0 && err != nil { - return defaults[0] - } - return int32(v) -} - -// MustInt64 returns request form as int64 with default -func (f *Forms) MustInt64(key string, defaults ...int64) int64 { - v, err := strconv.ParseInt((*http.Request)(f).FormValue(key), 10, 64) - if len(defaults) > 0 && err != nil { - return defaults[0] - } +// FormInt64 returns the first value for the provided key in the form as an int64 +func (ctx *Context) FormInt64(key string) int64 { + v, _ := strconv.ParseInt(ctx.Req.FormValue(key), 10, 64) return v } -// MustUint returns request form as uint with default -func (f *Forms) MustUint(key string, defaults ...uint) uint { - v, err := strconv.ParseUint((*http.Request)(f).FormValue(key), 10, 64) - if len(defaults) > 0 && err != nil { - return defaults[0] - } - return uint(v) -} - -// MustUint32 returns request form as uint32 with default -func (f *Forms) MustUint32(key string, defaults ...uint32) uint32 { - v, err := strconv.ParseUint((*http.Request)(f).FormValue(key), 10, 32) - if len(defaults) > 0 && err != nil { - return defaults[0] - } - return uint32(v) -} - -// MustUint64 returns request form as uint64 with default -func (f *Forms) MustUint64(key string, defaults ...uint64) uint64 { - v, err := strconv.ParseUint((*http.Request)(f).FormValue(key), 10, 64) - if len(defaults) > 0 && err != nil { - return defaults[0] - } +// FormBool returns true if the value for the provided key in the form is "1" or "true" +func (ctx *Context) FormBool(key string) bool { + v, _ := strconv.ParseBool(ctx.Req.FormValue(key)) return v } -// MustFloat32 returns request form as float32 with default -func (f *Forms) MustFloat32(key string, defaults ...float32) float32 { - v, err := strconv.ParseFloat((*http.Request)(f).FormValue(key), 32) - if len(defaults) > 0 && err != nil { - return defaults[0] - } - return float32(v) -} - -// MustFloat64 returns request form as float64 with default -func (f *Forms) MustFloat64(key string, defaults ...float64) float64 { - v, err := strconv.ParseFloat((*http.Request)(f).FormValue(key), 64) - if len(defaults) > 0 && err != nil { - return defaults[0] - } - return v -} - -// MustBool returns request form as bool with default -func (f *Forms) MustBool(key string, defaults ...bool) bool { - v, err := strconv.ParseBool((*http.Request)(f).FormValue(key)) - if len(defaults) > 0 && err != nil { - return defaults[0] - } - return v -} - -// MustOptionalBool returns request form as OptionalBool with default -func (f *Forms) MustOptionalBool(key string, defaults ...util.OptionalBool) util.OptionalBool { - value := (*http.Request)(f).FormValue(key) +// FormOptionalBool returns an OptionalBoolTrue or OptionalBoolFalse if the value +// for the provided key exists in the form else it returns OptionalBoolNone +func (ctx *Context) FormOptionalBool(key string) util.OptionalBool { + value := ctx.Req.FormValue(key) if len(value) == 0 { return util.OptionalBoolNone } - v, err := strconv.ParseBool((*http.Request)(f).FormValue(key)) - if len(defaults) > 0 && err != nil { - return defaults[0] - } + v, _ := strconv.ParseBool(ctx.Req.FormValue(key)) return util.OptionalBoolOf(v) } diff --git a/modules/context/repo.go b/modules/context/repo.go index abd9ca5481..df71638350 100644 --- a/modules/context/repo.go +++ b/modules/context/repo.go @@ -346,7 +346,7 @@ func repoAssignment(ctx *Context, repo *models.Repository) { // Check access. if ctx.Repo.Permission.AccessMode == models.AccessModeNone { - if ctx.Form("go-get") == "1" { + if ctx.FormString("go-get") == "1" { EarlyResponseForGoGetMeta(ctx) return } @@ -415,7 +415,7 @@ func RepoAssignment(ctx *Context) (cancel context.CancelFunc) { owner, err = models.GetUserByName(userName) if err != nil { if models.IsErrUserNotExist(err) { - if ctx.Form("go-get") == "1" { + if ctx.FormString("go-get") == "1" { EarlyResponseForGoGetMeta(ctx) return } @@ -437,7 +437,7 @@ func RepoAssignment(ctx *Context) (cancel context.CancelFunc) { if err == nil { RedirectToRepo(ctx, redirectRepoID) } else if models.IsErrRepoRedirectNotExist(err) { - if ctx.Form("go-get") == "1" { + if ctx.FormString("go-get") == "1" { EarlyResponseForGoGetMeta(ctx) return } @@ -618,7 +618,7 @@ func RepoAssignment(ctx *Context) (cancel context.CancelFunc) { } } - if ctx.Form("go-get") == "1" { + if ctx.FormString("go-get") == "1" { ctx.Data["GoGetImport"] = ComposeGoGetImport(owner.Name, repo.Name) prefix := setting.AppURL + path.Join(owner.Name, repo.Name, "src", "branch", ctx.Repo.BranchName) ctx.Data["GoDocDirectory"] = prefix + "{/dir}" diff --git a/routers/api/v1/admin/adopt.go b/routers/api/v1/admin/adopt.go index fb5888f083..062cee6283 100644 --- a/routers/api/v1/admin/adopt.go +++ b/routers/api/v1/admin/adopt.go @@ -42,7 +42,7 @@ func ListUnadoptedRepositories(ctx *context.APIContext) { // "$ref": "#/responses/forbidden" listOptions := utils.GetListOptions(ctx) - repoNames, count, err := repository.ListUnadoptedRepositories(ctx.Form("query"), &listOptions) + repoNames, count, err := repository.ListUnadoptedRepositories(ctx.FormString("query"), &listOptions) if err != nil { ctx.InternalServerError(err) } diff --git a/routers/api/v1/api.go b/routers/api/v1/api.go index b2202254da..6de47ddc7e 100644 --- a/routers/api/v1/api.go +++ b/routers/api/v1/api.go @@ -93,7 +93,7 @@ import ( func sudo() func(ctx *context.APIContext) { return func(ctx *context.APIContext) { - sudo := ctx.Form("sudo") + sudo := ctx.FormString("sudo") if len(sudo) == 0 { sudo = ctx.Req.Header.Get("Sudo") } diff --git a/routers/api/v1/notify/repo.go b/routers/api/v1/notify/repo.go index b5a6d8abf0..0bc48aeb16 100644 --- a/routers/api/v1/notify/repo.go +++ b/routers/api/v1/notify/repo.go @@ -171,7 +171,7 @@ func ReadRepoNotifications(ctx *context.APIContext) { // "$ref": "#/responses/empty" lastRead := int64(0) - qLastRead := strings.Trim(ctx.Form("last_read_at"), " ") + qLastRead := strings.Trim(ctx.FormString("last_read_at"), " ") if len(qLastRead) > 0 { tmpLastRead, err := time.Parse(time.RFC3339, qLastRead) if err != nil { @@ -200,7 +200,7 @@ func ReadRepoNotifications(ctx *context.APIContext) { return } - targetStatus := statusStringToNotificationStatus(ctx.Form("to-status")) + targetStatus := statusStringToNotificationStatus(ctx.FormString("to-status")) if targetStatus == 0 { targetStatus = models.NotificationStatusRead } diff --git a/routers/api/v1/notify/threads.go b/routers/api/v1/notify/threads.go index 0865d12156..1774c0b412 100644 --- a/routers/api/v1/notify/threads.go +++ b/routers/api/v1/notify/threads.go @@ -82,7 +82,7 @@ func ReadThread(ctx *context.APIContext) { return } - targetStatus := statusStringToNotificationStatus(ctx.Form("to-status")) + targetStatus := statusStringToNotificationStatus(ctx.FormString("to-status")) if targetStatus == 0 { targetStatus = models.NotificationStatusRead } diff --git a/routers/api/v1/notify/user.go b/routers/api/v1/notify/user.go index 184091544a..c4b126c567 100644 --- a/routers/api/v1/notify/user.go +++ b/routers/api/v1/notify/user.go @@ -122,7 +122,7 @@ func ReadNotifications(ctx *context.APIContext) { // "$ref": "#/responses/empty" lastRead := int64(0) - qLastRead := strings.Trim(ctx.Form("last_read_at"), " ") + qLastRead := strings.Trim(ctx.FormString("last_read_at"), " ") if len(qLastRead) > 0 { tmpLastRead, err := time.Parse(time.RFC3339, qLastRead) if err != nil { @@ -147,7 +147,7 @@ func ReadNotifications(ctx *context.APIContext) { return } - targetStatus := statusStringToNotificationStatus(ctx.Form("to-status")) + targetStatus := statusStringToNotificationStatus(ctx.FormString("to-status")) if targetStatus == 0 { targetStatus = models.NotificationStatusRead } diff --git a/routers/api/v1/org/label.go b/routers/api/v1/org/label.go index a66977ea5a..c70252158e 100644 --- a/routers/api/v1/org/label.go +++ b/routers/api/v1/org/label.go @@ -43,7 +43,7 @@ func ListLabels(ctx *context.APIContext) { // "200": // "$ref": "#/responses/LabelList" - labels, err := models.GetLabelsByOrgID(ctx.Org.Organization.ID, ctx.Form("sort"), utils.GetListOptions(ctx)) + labels, err := models.GetLabelsByOrgID(ctx.Org.Organization.ID, ctx.FormString("sort"), utils.GetListOptions(ctx)) if err != nil { ctx.Error(http.StatusInternalServerError, "GetLabelsByOrgID", err) return diff --git a/routers/api/v1/org/team.go b/routers/api/v1/org/team.go index e967fc7612..7802bede1b 100644 --- a/routers/api/v1/org/team.go +++ b/routers/api/v1/org/team.go @@ -658,9 +658,9 @@ func SearchTeam(ctx *context.APIContext) { opts := &models.SearchTeamOptions{ UserID: ctx.User.ID, - Keyword: strings.TrimSpace(ctx.Form("q")), + Keyword: strings.TrimSpace(ctx.FormString("q")), OrgID: ctx.Org.Organization.ID, - IncludeDesc: ctx.Form("include_desc") == "" || ctx.FormBool("include_desc"), + IncludeDesc: ctx.FormString("include_desc") == "" || ctx.FormBool("include_desc"), ListOptions: listOptions, } diff --git a/routers/api/v1/repo/commits.go b/routers/api/v1/repo/commits.go index 9950a7d456..f2fd901efa 100644 --- a/routers/api/v1/repo/commits.go +++ b/routers/api/v1/repo/commits.go @@ -147,7 +147,7 @@ func GetAllCommits(ctx *context.APIContext) { listOptions.PageSize = setting.Git.CommitsRangeSize } - sha := ctx.Form("sha") + sha := ctx.FormString("sha") var baseCommit *git.Commit if len(sha) == 0 { diff --git a/routers/api/v1/repo/issue.go b/routers/api/v1/repo/issue.go index 172ad48031..6add20cb09 100644 --- a/routers/api/v1/repo/issue.go +++ b/routers/api/v1/repo/issue.go @@ -106,7 +106,7 @@ func SearchIssues(ctx *context.APIContext) { } var isClosed util.OptionalBool - switch ctx.Form("state") { + switch ctx.FormString("state") { case "closed": isClosed = util.OptionalBoolTrue case "all": @@ -140,7 +140,7 @@ func SearchIssues(ctx *context.APIContext) { var issues []*models.Issue var filteredCount int64 - keyword := strings.Trim(ctx.Form("q"), " ") + keyword := strings.Trim(ctx.FormString("q"), " ") if strings.IndexByte(keyword, 0) >= 0 { keyword = "" } @@ -153,7 +153,7 @@ func SearchIssues(ctx *context.APIContext) { } var isPull util.OptionalBool - switch ctx.Form("type") { + switch ctx.FormString("type") { case "pulls": isPull = util.OptionalBoolTrue case "issues": @@ -162,13 +162,13 @@ func SearchIssues(ctx *context.APIContext) { isPull = util.OptionalBoolNone } - labels := strings.TrimSpace(ctx.Form("labels")) + labels := strings.TrimSpace(ctx.FormString("labels")) var includedLabelNames []string if len(labels) > 0 { includedLabelNames = strings.Split(labels, ",") } - milestones := strings.TrimSpace(ctx.Form("milestones")) + milestones := strings.TrimSpace(ctx.FormString("milestones")) var includedMilestones []string if len(milestones) > 0 { includedMilestones = strings.Split(milestones, ",") @@ -319,7 +319,7 @@ func ListIssues(ctx *context.APIContext) { } var isClosed util.OptionalBool - switch ctx.Form("state") { + switch ctx.FormString("state") { case "closed": isClosed = util.OptionalBoolTrue case "all": @@ -331,7 +331,7 @@ func ListIssues(ctx *context.APIContext) { var issues []*models.Issue var filteredCount int64 - keyword := strings.Trim(ctx.Form("q"), " ") + keyword := strings.Trim(ctx.FormString("q"), " ") if strings.IndexByte(keyword, 0) >= 0 { keyword = "" } @@ -345,7 +345,7 @@ func ListIssues(ctx *context.APIContext) { } } - if splitted := strings.Split(ctx.Form("labels"), ","); len(splitted) > 0 { + if splitted := strings.Split(ctx.FormString("labels"), ","); len(splitted) > 0 { labelIDs, err = models.GetLabelIDsInRepoByNames(ctx.Repo.Repository.ID, splitted) if err != nil { ctx.Error(http.StatusInternalServerError, "GetLabelIDsInRepoByNames", err) @@ -354,7 +354,7 @@ func ListIssues(ctx *context.APIContext) { } var mileIDs []int64 - if part := strings.Split(ctx.Form("milestones"), ","); len(part) > 0 { + if part := strings.Split(ctx.FormString("milestones"), ","); len(part) > 0 { for i := range part { // uses names and fall back to ids // non existent milestones are discarded @@ -386,7 +386,7 @@ func ListIssues(ctx *context.APIContext) { listOptions := utils.GetListOptions(ctx) var isPull util.OptionalBool - switch ctx.Form("type") { + switch ctx.FormString("type") { case "pulls": isPull = util.OptionalBoolTrue case "issues": @@ -448,7 +448,7 @@ func ListIssues(ctx *context.APIContext) { } func getUserIDForFilter(ctx *context.APIContext, queryName string) int64 { - userName := ctx.Form(queryName) + userName := ctx.FormString(queryName) if len(userName) == 0 { return 0 } diff --git a/routers/api/v1/repo/issue_tracked_time.go b/routers/api/v1/repo/issue_tracked_time.go index eaf2c44c7c..e2935fd13d 100644 --- a/routers/api/v1/repo/issue_tracked_time.go +++ b/routers/api/v1/repo/issue_tracked_time.go @@ -90,7 +90,7 @@ func ListTrackedTimes(ctx *context.APIContext) { IssueID: issue.ID, } - qUser := strings.Trim(ctx.Form("user"), " ") + qUser := strings.Trim(ctx.FormString("user"), " ") if qUser != "" { user, err := models.GetUserByName(qUser) if models.IsErrUserNotExist(err) { @@ -500,7 +500,7 @@ func ListTrackedTimesByRepository(ctx *context.APIContext) { } // Filters - qUser := strings.Trim(ctx.Form("user"), " ") + qUser := strings.Trim(ctx.FormString("user"), " ") if qUser != "" { user, err := models.GetUserByName(qUser) if models.IsErrUserNotExist(err) { diff --git a/routers/api/v1/repo/key.go b/routers/api/v1/repo/key.go index d41531dd58..903cef7104 100644 --- a/routers/api/v1/repo/key.go +++ b/routers/api/v1/repo/key.go @@ -78,7 +78,7 @@ func ListDeployKeys(ctx *context.APIContext) { var keys []*models.DeployKey var err error - fingerprint := ctx.Form("fingerprint") + fingerprint := ctx.FormString("fingerprint") keyID := ctx.FormInt64("key_id") if fingerprint != "" || keyID != 0 { keys, err = models.SearchDeployKeys(ctx.Repo.Repository.ID, keyID, fingerprint) diff --git a/routers/api/v1/repo/label.go b/routers/api/v1/repo/label.go index 0d1368d18c..ca0d8392b8 100644 --- a/routers/api/v1/repo/label.go +++ b/routers/api/v1/repo/label.go @@ -49,7 +49,7 @@ func ListLabels(ctx *context.APIContext) { // "200": // "$ref": "#/responses/LabelList" - labels, err := models.GetLabelsByRepoID(ctx.Repo.Repository.ID, ctx.Form("sort"), utils.GetListOptions(ctx)) + labels, err := models.GetLabelsByRepoID(ctx.Repo.Repository.ID, ctx.FormString("sort"), utils.GetListOptions(ctx)) if err != nil { ctx.Error(http.StatusInternalServerError, "GetLabelsByRepoID", err) return diff --git a/routers/api/v1/repo/milestone.go b/routers/api/v1/repo/milestone.go index 1231c3eb21..07b3897bc1 100644 --- a/routers/api/v1/repo/milestone.go +++ b/routers/api/v1/repo/milestone.go @@ -60,8 +60,8 @@ func ListMilestones(ctx *context.APIContext) { milestones, err := models.GetMilestones(models.GetMilestonesOption{ ListOptions: utils.GetListOptions(ctx), RepoID: ctx.Repo.Repository.ID, - State: api.StateType(ctx.Form("state")), - Name: ctx.Form("name"), + State: api.StateType(ctx.FormString("state")), + Name: ctx.FormString("name"), }) if err != nil { ctx.Error(http.StatusInternalServerError, "GetMilestones", err) diff --git a/routers/api/v1/repo/release_attachment.go b/routers/api/v1/repo/release_attachment.go index 7986c47e6f..0834667657 100644 --- a/routers/api/v1/repo/release_attachment.go +++ b/routers/api/v1/repo/release_attachment.go @@ -190,7 +190,7 @@ func CreateReleaseAttachment(ctx *context.APIContext) { } var filename = header.Filename - if query := ctx.Form("name"); query != "" { + if query := ctx.FormString("name"); query != "" { filename = query } diff --git a/routers/api/v1/repo/repo.go b/routers/api/v1/repo/repo.go index 9c93408832..fb1472226f 100644 --- a/routers/api/v1/repo/repo.go +++ b/routers/api/v1/repo/repo.go @@ -135,19 +135,19 @@ func Search(ctx *context.APIContext) { opts := &models.SearchRepoOptions{ ListOptions: utils.GetListOptions(ctx), Actor: ctx.User, - Keyword: strings.Trim(ctx.Form("q"), " "), + Keyword: strings.Trim(ctx.FormString("q"), " "), OwnerID: ctx.FormInt64("uid"), PriorityOwnerID: ctx.FormInt64("priority_owner_id"), TeamID: ctx.FormInt64("team_id"), TopicOnly: ctx.FormBool("topic"), Collaborate: util.OptionalBoolNone, - Private: ctx.IsSigned && (ctx.Form("private") == "" || ctx.FormBool("private")), + Private: ctx.IsSigned && (ctx.FormString("private") == "" || ctx.FormBool("private")), Template: util.OptionalBoolNone, StarredByID: ctx.FormInt64("starredBy"), IncludeDescription: ctx.FormBool("includeDesc"), } - if ctx.Form("template") != "" { + if ctx.FormString("template") != "" { opts.Template = util.OptionalBoolOf(ctx.FormBool("template")) } @@ -155,7 +155,7 @@ func Search(ctx *context.APIContext) { opts.Collaborate = util.OptionalBoolFalse } - var mode = ctx.Form("mode") + var mode = ctx.FormString("mode") switch mode { case "source": opts.Fork = util.OptionalBoolFalse @@ -173,17 +173,17 @@ func Search(ctx *context.APIContext) { return } - if ctx.Form("archived") != "" { + if ctx.FormString("archived") != "" { opts.Archived = util.OptionalBoolOf(ctx.FormBool("archived")) } - if ctx.Form("is_private") != "" { + if ctx.FormString("is_private") != "" { opts.IsPrivate = util.OptionalBoolOf(ctx.FormBool("is_private")) } - var sortMode = ctx.Form("sort") + var sortMode = ctx.FormString("sort") if len(sortMode) > 0 { - var sortOrder = ctx.Form("order") + var sortOrder = ctx.FormString("order") if len(sortOrder) == 0 { sortOrder = "asc" } diff --git a/routers/api/v1/repo/topic.go b/routers/api/v1/repo/topic.go index 7646eaf82e..a7c52e0bcc 100644 --- a/routers/api/v1/repo/topic.go +++ b/routers/api/v1/repo/topic.go @@ -274,7 +274,7 @@ func TopicSearch(ctx *context.APIContext) { return } - kw := ctx.Form("q") + kw := ctx.FormString("q") listOptions := utils.GetListOptions(ctx) diff --git a/routers/api/v1/user/key.go b/routers/api/v1/user/key.go index 284653b108..04252524b7 100644 --- a/routers/api/v1/user/key.go +++ b/routers/api/v1/user/key.go @@ -48,7 +48,7 @@ func listPublicKeys(ctx *context.APIContext, user *models.User) { var keys []*models.PublicKey var err error - fingerprint := ctx.Form("fingerprint") + fingerprint := ctx.FormString("fingerprint") username := ctx.Params("username") if fingerprint != "" { diff --git a/routers/api/v1/user/user.go b/routers/api/v1/user/user.go index de1fd5a5c5..db950bd1ee 100644 --- a/routers/api/v1/user/user.go +++ b/routers/api/v1/user/user.go @@ -58,7 +58,7 @@ func Search(ctx *context.APIContext) { opts := &models.SearchUserOptions{ Actor: ctx.User, - Keyword: strings.Trim(ctx.Form("q"), " "), + Keyword: strings.Trim(ctx.FormString("q"), " "), UID: ctx.FormInt64("uid"), Type: models.UserTypeIndividual, ListOptions: listOptions, diff --git a/routers/api/v1/utils/utils.go b/routers/api/v1/utils/utils.go index ee70723bd1..81f5086c96 100644 --- a/routers/api/v1/utils/utils.go +++ b/routers/api/v1/utils/utils.go @@ -54,7 +54,7 @@ func parseTime(value string) (int64, error) { // prepareQueryArg unescape and trim a query arg func prepareQueryArg(ctx *context.APIContext, name string) (value string, err error) { - value, err = url.PathUnescape(ctx.Form(name)) + value, err = url.PathUnescape(ctx.FormString(name)) value = strings.TrimSpace(value) return } diff --git a/routers/private/key.go b/routers/private/key.go index 1e60af232a..4f518e41f0 100644 --- a/routers/private/key.go +++ b/routers/private/key.go @@ -50,7 +50,7 @@ func UpdatePublicKeyInRepo(ctx *context.PrivateContext) { // AuthorizedPublicKeyByContent searches content as prefix (leak e-mail part) // and returns public key found. func AuthorizedPublicKeyByContent(ctx *context.PrivateContext) { - content := ctx.Form("content") + content := ctx.FormString("content") publicKey, err := models.SearchPublicKeyByContent(content) if err != nil { diff --git a/routers/web/admin/admin.go b/routers/web/admin/admin.go index 5db4331228..ce177ea090 100644 --- a/routers/web/admin/admin.go +++ b/routers/web/admin/admin.go @@ -161,7 +161,7 @@ func DashboardPost(ctx *context.Context) { // SendTestMail send test mail to confirm mail service is OK func SendTestMail(ctx *context.Context) { - email := ctx.Form("email") + email := ctx.FormString("email") // Send a test email to the user's email address and redirect back to Config if err := mailer.SendTestMail(email); err != nil { ctx.Flash.Error(ctx.Tr("admin.config.test_mail_failed", email, err)) @@ -377,7 +377,7 @@ func Flush(ctx *context.Context) { ctx.Status(404) return } - timeout, err := time.ParseDuration(ctx.Form("timeout")) + timeout, err := time.ParseDuration(ctx.FormString("timeout")) if err != nil { timeout = -1 } @@ -405,7 +405,7 @@ func AddWorkers(ctx *context.Context) { ctx.Redirect(setting.AppSubURL + "/admin/monitor/queue/" + strconv.FormatInt(qid, 10)) return } - timeout, err := time.ParseDuration(ctx.Form("timeout")) + timeout, err := time.ParseDuration(ctx.FormString("timeout")) if err != nil { ctx.Flash.Error(ctx.Tr("admin.monitor.queue.pool.addworkers.musttimeoutduration")) ctx.Redirect(setting.AppSubURL + "/admin/monitor/queue/" + strconv.FormatInt(qid, 10)) @@ -435,9 +435,9 @@ func SetQueueSettings(ctx *context.Context) { return } - maxNumberStr := ctx.Form("max-number") - numberStr := ctx.Form("number") - timeoutStr := ctx.Form("timeout") + maxNumberStr := ctx.FormString("max-number") + numberStr := ctx.FormString("number") + timeoutStr := ctx.FormString("timeout") var err error var maxNumber, number int diff --git a/routers/web/admin/emails.go b/routers/web/admin/emails.go index c2fb474477..017d696e20 100644 --- a/routers/web/admin/emails.go +++ b/routers/web/admin/emails.go @@ -51,8 +51,8 @@ func Emails(ctx *context.Context) { orderBy models.SearchEmailOrderBy ) - ctx.Data["SortType"] = ctx.Form("sort") - switch ctx.Form("sort") { + ctx.Data["SortType"] = ctx.FormString("sort") + switch ctx.FormString("sort") { case "email": orderBy = models.SearchEmailOrderByEmail case "reverseemail": @@ -68,10 +68,10 @@ func Emails(ctx *context.Context) { opts.Keyword = ctx.FormTrim("q") opts.SortType = orderBy - if len(ctx.Form("is_activated")) != 0 { + if len(ctx.FormString("is_activated")) != 0 { opts.IsActivated = util.OptionalBoolOf(ctx.FormBool("activated")) } - if len(ctx.Form("is_primary")) != 0 { + if len(ctx.FormString("is_primary")) != 0 { opts.IsPrimary = util.OptionalBoolOf(ctx.FormBool("primary")) } @@ -114,9 +114,9 @@ func ActivateEmail(ctx *context.Context) { truefalse := map[string]bool{"1": true, "0": false} uid := ctx.FormInt64("uid") - email := ctx.Form("email") - primary, okp := truefalse[ctx.Form("primary")] - activate, oka := truefalse[ctx.Form("activate")] + email := ctx.FormString("email") + primary, okp := truefalse[ctx.FormString("primary")] + activate, oka := truefalse[ctx.FormString("activate")] if uid == 0 || len(email) == 0 || !okp || !oka { ctx.Error(http.StatusBadRequest) diff --git a/routers/web/admin/repos.go b/routers/web/admin/repos.go index 34b7af2690..15d4554957 100644 --- a/routers/web/admin/repos.go +++ b/routers/web/admin/repos.go @@ -59,7 +59,7 @@ func DeleteRepo(ctx *context.Context) { ctx.Flash.Success(ctx.Tr("repo.settings.deletion_success")) ctx.JSON(http.StatusOK, map[string]interface{}{ - "redirect": setting.AppSubURL + "/admin/repos?page=" + ctx.Form("page") + "&sort=" + ctx.Form("sort"), + "redirect": setting.AppSubURL + "/admin/repos?page=" + ctx.FormString("page") + "&sort=" + ctx.FormString("sort"), }) } @@ -83,7 +83,7 @@ func UnadoptedRepos(ctx *context.Context) { doSearch := ctx.FormBool("search") ctx.Data["search"] = doSearch - q := ctx.Form("q") + q := ctx.FormString("q") if !doSearch { pager := context.NewPagination(0, opts.PageSize, opts.Page, 5) @@ -109,10 +109,10 @@ func UnadoptedRepos(ctx *context.Context) { // AdoptOrDeleteRepository adopts or deletes a repository func AdoptOrDeleteRepository(ctx *context.Context) { - dir := ctx.Form("id") - action := ctx.Form("action") + dir := ctx.FormString("id") + action := ctx.FormString("action") page := ctx.FormInt("page") - q := ctx.Form("q") + q := ctx.FormString("q") dirSplit := strings.SplitN(dir, "/", 2) if len(dirSplit) != 2 { diff --git a/routers/web/explore/code.go b/routers/web/explore/code.go index 5dd8298b2d..55a4409145 100644 --- a/routers/web/explore/code.go +++ b/routers/web/explore/code.go @@ -33,14 +33,14 @@ func Code(ctx *context.Context) { ctx.Data["PageIsExplore"] = true ctx.Data["PageIsExploreCode"] = true - language := strings.TrimSpace(ctx.Form("l")) - keyword := strings.TrimSpace(ctx.Form("q")) + language := strings.TrimSpace(ctx.FormString("l")) + keyword := strings.TrimSpace(ctx.FormString("q")) page := ctx.FormInt("page") if page <= 0 { page = 1 } - queryType := strings.TrimSpace(ctx.Form("t")) + queryType := strings.TrimSpace(ctx.FormString("t")) isMatch := queryType == "match" var ( diff --git a/routers/web/explore/repo.go b/routers/web/explore/repo.go index faac639caa..83fb721a7d 100644 --- a/routers/web/explore/repo.go +++ b/routers/web/explore/repo.go @@ -42,8 +42,8 @@ func RenderRepoSearch(ctx *context.Context, opts *RepoSearchOptions) { orderBy models.SearchOrderBy ) - ctx.Data["SortType"] = ctx.Form("sort") - switch ctx.Form("sort") { + ctx.Data["SortType"] = ctx.FormString("sort") + switch ctx.FormString("sort") { case "newest": orderBy = models.SearchOrderByNewest case "oldest": @@ -73,7 +73,7 @@ func RenderRepoSearch(ctx *context.Context, opts *RepoSearchOptions) { orderBy = models.SearchOrderByRecentUpdated } - keyword := strings.Trim(ctx.Form("q"), " ") + keyword := strings.Trim(ctx.FormString("q"), " ") topicOnly := ctx.FormBool("topic") ctx.Data["TopicOnly"] = topicOnly diff --git a/routers/web/explore/user.go b/routers/web/explore/user.go index 85c45c7eff..06dcdb3c6a 100644 --- a/routers/web/explore/user.go +++ b/routers/web/explore/user.go @@ -44,8 +44,8 @@ func RenderUserSearch(ctx *context.Context, opts *models.SearchUserOptions, tplN orderBy models.SearchOrderBy ) - ctx.Data["SortType"] = ctx.Form("sort") - switch ctx.Form("sort") { + ctx.Data["SortType"] = ctx.FormString("sort") + switch ctx.FormString("sort") { case "newest": orderBy = models.SearchOrderByIDReverse case "oldest": @@ -63,7 +63,7 @@ func RenderUserSearch(ctx *context.Context, opts *models.SearchUserOptions, tplN orderBy = models.SearchOrderByAlphabetically } - opts.Keyword = strings.Trim(ctx.Form("q"), " ") + opts.Keyword = strings.Trim(ctx.FormString("q"), " ") opts.OrderBy = orderBy if len(opts.Keyword) == 0 || isKeywordValid(opts.Keyword) { users, count, err = models.SearchUsers(opts) diff --git a/routers/web/goget.go b/routers/web/goget.go index 1680153b49..02adf9c5ea 100644 --- a/routers/web/goget.go +++ b/routers/web/goget.go @@ -18,7 +18,7 @@ import ( ) func goGet(ctx *context.Context) { - if ctx.Req.Method != "GET" || ctx.Form("go-get") != "1" || len(ctx.Req.URL.Query()) > 1 { + if ctx.Req.Method != "GET" || ctx.FormString("go-get") != "1" || len(ctx.Req.URL.Query()) > 1 { return } diff --git a/routers/web/org/home.go b/routers/web/org/home.go index 8c1475d469..de131d27b6 100644 --- a/routers/web/org/home.go +++ b/routers/web/org/home.go @@ -51,8 +51,8 @@ func Home(ctx *context.Context) { } var orderBy models.SearchOrderBy - ctx.Data["SortType"] = ctx.Form("sort") - switch ctx.Form("sort") { + ctx.Data["SortType"] = ctx.FormString("sort") + switch ctx.FormString("sort") { case "newest": orderBy = models.SearchOrderByNewest case "oldest": @@ -78,7 +78,7 @@ func Home(ctx *context.Context) { orderBy = models.SearchOrderByRecentUpdated } - keyword := strings.Trim(ctx.Form("q"), " ") + keyword := strings.Trim(ctx.FormString("q"), " ") ctx.Data["Keyword"] = keyword page := ctx.FormInt("page") diff --git a/routers/web/org/org_labels.go b/routers/web/org/org_labels.go index 08457d4f8e..97a5437c61 100644 --- a/routers/web/org/org_labels.go +++ b/routers/web/org/org_labels.go @@ -15,7 +15,7 @@ import ( // RetrieveLabels find all the labels of an organization func RetrieveLabels(ctx *context.Context) { - labels, err := models.GetLabelsByOrgID(ctx.Org.Organization.ID, ctx.Form("sort"), models.ListOptions{}) + labels, err := models.GetLabelsByOrgID(ctx.Org.Organization.ID, ctx.FormString("sort"), models.ListOptions{}) if err != nil { ctx.ServerError("RetrieveLabels.GetLabels", err) return @@ -25,7 +25,7 @@ func RetrieveLabels(ctx *context.Context) { } ctx.Data["Labels"] = labels ctx.Data["NumLabels"] = len(labels) - ctx.Data["SortType"] = ctx.Form("sort") + ctx.Data["SortType"] = ctx.FormString("sort") } // NewLabel create new label for organization diff --git a/routers/web/org/setting.go b/routers/web/org/setting.go index 47a80ec50f..b21b94d64d 100644 --- a/routers/web/org/setting.go +++ b/routers/web/org/setting.go @@ -155,7 +155,7 @@ func SettingsDelete(ctx *context.Context) { org := ctx.Org.Organization if ctx.Req.Method == "POST" { - if org.Name != ctx.Form("org_name") { + if org.Name != ctx.FormString("org_name") { ctx.Data["Err_OrgName"] = true ctx.RenderWithErr(ctx.Tr("form.enterred_invalid_org_name"), tplSettingsDelete, nil) return diff --git a/routers/web/org/teams.go b/routers/web/org/teams.go index a61315e05c..4725f19b3d 100644 --- a/routers/web/org/teams.go +++ b/routers/web/org/teams.go @@ -55,7 +55,7 @@ func TeamsAction(ctx *context.Context) { return } - page := ctx.Form("page") + page := ctx.FormString("page") var err error switch ctx.Params(":action") { case "join": @@ -78,7 +78,7 @@ func TeamsAction(ctx *context.Context) { ctx.Error(http.StatusNotFound) return } - uname := utils.RemoveUsernameParameterSuffix(strings.ToLower(ctx.Form("uname"))) + uname := utils.RemoveUsernameParameterSuffix(strings.ToLower(ctx.FormString("uname"))) var u *models.User u, err = models.GetUserByName(uname) if err != nil { @@ -140,7 +140,7 @@ func TeamsRepoAction(ctx *context.Context) { action := ctx.Params(":action") switch action { case "add": - repoName := path.Base(ctx.Form("repo_name")) + repoName := path.Base(ctx.FormString("repo_name")) var repo *models.Repository repo, err = models.GetRepositoryByName(ctx.Org.Organization.ID, repoName) if err != nil { diff --git a/routers/web/repo/attachment.go b/routers/web/repo/attachment.go index a57cf633e6..1a25384792 100644 --- a/routers/web/repo/attachment.go +++ b/routers/web/repo/attachment.go @@ -71,7 +71,7 @@ func uploadAttachment(ctx *context.Context, allowedTypes string) { // DeleteAttachment response for deleting issue's attachment func DeleteAttachment(ctx *context.Context) { - file := ctx.Form("file") + file := ctx.FormString("file") attach, err := models.GetAttachmentByUUID(file) if err != nil { ctx.Error(http.StatusBadRequest, err.Error()) diff --git a/routers/web/repo/branch.go b/routers/web/repo/branch.go index f89a5543c1..84c3864669 100644 --- a/routers/web/repo/branch.go +++ b/routers/web/repo/branch.go @@ -84,7 +84,7 @@ func Branches(ctx *context.Context) { // DeleteBranchPost responses for delete merged branch func DeleteBranchPost(ctx *context.Context) { defer redirect(ctx) - branchName := ctx.Form("name") + branchName := ctx.FormString("name") if err := repo_service.DeleteBranch(ctx.User, ctx.Repo.Repository, ctx.Repo.GitRepo, branchName); err != nil { switch { @@ -113,7 +113,7 @@ func RestoreBranchPost(ctx *context.Context) { defer redirect(ctx) branchID := ctx.FormInt64("branch_id") - branchName := ctx.Form("name") + branchName := ctx.FormString("name") deletedBranch, err := ctx.Repo.Repository.GetDeletedBranchByID(branchID) if err != nil { diff --git a/routers/web/repo/commit.go b/routers/web/repo/commit.go index e1d93a2435..57ee7a2043 100644 --- a/routers/web/repo/commit.go +++ b/routers/web/repo/commit.go @@ -177,7 +177,7 @@ func SearchCommits(ctx *context.Context) { ctx.Data["PageIsCommits"] = true ctx.Data["PageIsViewCode"] = true - query := strings.Trim(ctx.Form("q"), " ") + query := strings.Trim(ctx.FormString("q"), " ") if len(query) == 0 { ctx.Redirect(ctx.Repo.RepoLink + "/commits/" + ctx.Repo.BranchNameSubURL()) return diff --git a/routers/web/repo/compare.go b/routers/web/repo/compare.go index 511a74cdd5..ec65813656 100644 --- a/routers/web/repo/compare.go +++ b/routers/web/repo/compare.go @@ -700,9 +700,9 @@ func ExcerptBlob(ctx *context.Context) { idxRight := ctx.FormInt("right") leftHunkSize := ctx.FormInt("left_hunk_size") rightHunkSize := ctx.FormInt("right_hunk_size") - anchor := ctx.Form("anchor") - direction := ctx.Form("direction") - filePath := ctx.Form("path") + anchor := ctx.FormString("anchor") + direction := ctx.FormString("direction") + filePath := ctx.FormString("path") gitRepo := ctx.Repo.GitRepo chunkSize := gitdiff.BlobExcerptChunkSize commit, err := gitRepo.GetCommit(commitID) diff --git a/routers/web/repo/http.go b/routers/web/repo/http.go index 82bf039c0d..6078d764b6 100644 --- a/routers/web/repo/http.go +++ b/routers/web/repo/http.go @@ -70,13 +70,13 @@ func httpBase(ctx *context.Context) (h *serviceHandler) { username := ctx.Params(":username") reponame := strings.TrimSuffix(ctx.Params(":reponame"), ".git") - if ctx.Form("go-get") == "1" { + if ctx.FormString("go-get") == "1" { context.EarlyResponseForGoGetMeta(ctx) return } var isPull, receivePack bool - service := ctx.Form("service") + service := ctx.FormString("service") if service == "git-receive-pack" || strings.HasSuffix(ctx.Req.URL.Path, "git-receive-pack") { isPull = false diff --git a/routers/web/repo/issue.go b/routers/web/repo/issue.go index 724ce5c774..248ae5b132 100644 --- a/routers/web/repo/issue.go +++ b/routers/web/repo/issue.go @@ -110,8 +110,8 @@ func MustAllowPulls(ctx *context.Context) { func issues(ctx *context.Context, milestoneID, projectID int64, isPullOption util.OptionalBool) { var err error - viewType := ctx.Form("type") - sortType := ctx.Form("sort") + viewType := ctx.FormString("type") + sortType := ctx.FormString("sort") types := []string{"all", "your_repositories", "assigned", "created_by", "mentioned", "review_requested"} if !util.IsStringInSlice(viewType, types, true) { viewType = "all" @@ -140,7 +140,7 @@ func issues(ctx *context.Context, milestoneID, projectID int64, isPullOption uti repo := ctx.Repo.Repository var labelIDs []int64 - selectLabels := ctx.Form("labels") + selectLabels := ctx.FormString("labels") if len(selectLabels) > 0 && selectLabels != "0" { labelIDs, err = base.StringsToInt64s(strings.Split(selectLabels, ",")) if err != nil { @@ -149,7 +149,7 @@ func issues(ctx *context.Context, milestoneID, projectID int64, isPullOption uti } } - keyword := strings.Trim(ctx.Form("q"), " ") + keyword := strings.Trim(ctx.FormString("q"), " ") if bytes.Contains([]byte(keyword), []byte{0x00}) { keyword = "" } @@ -187,9 +187,9 @@ func issues(ctx *context.Context, milestoneID, projectID int64, isPullOption uti } } - isShowClosed := ctx.Form("state") == "closed" + isShowClosed := ctx.FormString("state") == "closed" // if open issues are zero and close don't, use closed as default - if len(ctx.Form("state")) == 0 && issueStats.OpenCount == 0 && issueStats.ClosedCount != 0 { + if len(ctx.FormString("state")) == 0 && issueStats.OpenCount == 0 && issueStats.ClosedCount != 0 { isShowClosed = true } @@ -285,7 +285,7 @@ func issues(ctx *context.Context, milestoneID, projectID int64, isPullOption uti } if repo.Owner.IsOrganization() { - orgLabels, err := models.GetLabelsByOrgID(repo.Owner.ID, ctx.Form("sort"), models.ListOptions{}) + orgLabels, err := models.GetLabelsByOrgID(repo.Owner.ID, ctx.FormString("sort"), models.ListOptions{}) if err != nil { ctx.ServerError("GetLabelsByOrgID", err) return @@ -380,7 +380,7 @@ func Issues(ctx *context.Context) { // Get milestones ctx.Data["Milestones"], err = models.GetMilestones(models.GetMilestonesOption{ RepoID: ctx.Repo.Repository.ID, - State: api.StateType(ctx.Form("state")), + State: api.StateType(ctx.FormString("state")), }) if err != nil { ctx.ServerError("GetAllRepoMilestones", err) @@ -655,7 +655,7 @@ func RetrieveRepoMetas(ctx *context.Context, repo *models.Repository, isPull boo } ctx.Data["Labels"] = labels if repo.Owner.IsOrganization() { - orgLabels, err := models.GetLabelsByOrgID(repo.Owner.ID, ctx.Form("sort"), models.ListOptions{}) + orgLabels, err := models.GetLabelsByOrgID(repo.Owner.ID, ctx.FormString("sort"), models.ListOptions{}) if err != nil { return nil } @@ -719,9 +719,9 @@ func getFileContentFromDefaultBranch(ctx *context.Context, filename string) (str func setTemplateIfExists(ctx *context.Context, ctxDataKey string, possibleDirs []string, possibleFiles []string) { templateCandidates := make([]string, 0, len(possibleFiles)) - if ctx.Form("template") != "" { + if ctx.FormString("template") != "" { for _, dirName := range possibleDirs { - templateCandidates = append(templateCandidates, path.Join(dirName, ctx.Form("template"))) + templateCandidates = append(templateCandidates, path.Join(dirName, ctx.FormString("template"))) } } templateCandidates = append(templateCandidates, possibleFiles...) // Append files to the end because they should be fallback @@ -741,7 +741,7 @@ func setTemplateIfExists(ctx *context.Context, ctxDataKey string, possibleDirs [ if repoLabels, err := models.GetLabelsByRepoID(ctx.Repo.Repository.ID, "", models.ListOptions{}); err == nil { ctx.Data["Labels"] = repoLabels if ctx.Repo.Owner.IsOrganization() { - if orgLabels, err := models.GetLabelsByOrgID(ctx.Repo.Owner.ID, ctx.Form("sort"), models.ListOptions{}); err == nil { + if orgLabels, err := models.GetLabelsByOrgID(ctx.Repo.Owner.ID, ctx.FormString("sort"), models.ListOptions{}); err == nil { ctx.Data["OrgLabels"] = orgLabels repoLabels = append(repoLabels, orgLabels...) } @@ -773,9 +773,9 @@ func NewIssue(ctx *context.Context) { ctx.Data["RequireSimpleMDE"] = true ctx.Data["RequireTribute"] = true ctx.Data["PullRequestWorkInProgressPrefixes"] = setting.Repository.PullRequest.WorkInProgressPrefixes - title := ctx.Form("title") + title := ctx.FormString("title") ctx.Data["TitleQuery"] = title - body := ctx.Form("body") + body := ctx.FormString("body") ctx.Data["BodyQuery"] = body ctx.Data["IsProjectsEnabled"] = ctx.Repo.CanRead(models.UnitTypeProjects) @@ -1174,7 +1174,7 @@ func ViewIssue(ctx *context.Context) { ctx.Data["Labels"] = labels if repo.Owner.IsOrganization() { - orgLabels, err := models.GetLabelsByOrgID(repo.Owner.ID, ctx.Form("sort"), models.ListOptions{}) + orgLabels, err := models.GetLabelsByOrgID(repo.Owner.ID, ctx.FormString("sort"), models.ListOptions{}) if err != nil { ctx.ServerError("GetLabelsByOrgID", err) return @@ -1624,7 +1624,7 @@ func checkIssueRights(ctx *context.Context, issue *models.Issue) { } func getActionIssues(ctx *context.Context) []*models.Issue { - commaSeparatedIssueIDs := ctx.Form("issue_ids") + commaSeparatedIssueIDs := ctx.FormString("issue_ids") if len(commaSeparatedIssueIDs) == 0 { return nil } @@ -1722,7 +1722,7 @@ func UpdateIssueContent(ctx *context.Context) { return } - content := ctx.Form("content") + content := ctx.FormString("content") if err := issue_service.ChangeContent(issue, ctx.User, content); err != nil { ctx.ServerError("ChangeContent", err) return @@ -1735,7 +1735,7 @@ func UpdateIssueContent(ctx *context.Context) { } content, err := markdown.RenderString(&markup.RenderContext{ - URLPrefix: ctx.Form("context"), + URLPrefix: ctx.FormString("context"), Metas: ctx.Repo.Repository.ComposeMetas(), GitRepo: ctx.Repo.GitRepo, }, issue.Content) @@ -1783,7 +1783,7 @@ func UpdateIssueAssignee(ctx *context.Context) { } assigneeID := ctx.FormInt64("id") - action := ctx.Form("action") + action := ctx.FormString("action") for _, issue := range issues { switch action { @@ -1829,7 +1829,7 @@ func UpdatePullReviewRequest(ctx *context.Context) { } reviewID := ctx.FormInt64("id") - action := ctx.Form("action") + action := ctx.FormString("action") // TODO: Not support 'clear' now if action != "attach" && action != "detach" { @@ -1954,7 +1954,7 @@ func UpdateIssueStatus(ctx *context.Context) { } var isClosed bool - switch action := ctx.Form("action"); action { + switch action := ctx.FormString("action"); action { case "open": isClosed = false case "close": @@ -2145,7 +2145,7 @@ func UpdateCommentContent(ctx *context.Context) { } oldContent := comment.Content - comment.Content = ctx.Form("content") + comment.Content = ctx.FormString("content") if len(comment.Content) == 0 { ctx.JSON(http.StatusOK, map[string]interface{}{ "content": "", @@ -2164,7 +2164,7 @@ func UpdateCommentContent(ctx *context.Context) { } content, err := markdown.RenderString(&markup.RenderContext{ - URLPrefix: ctx.Form("context"), + URLPrefix: ctx.FormString("context"), Metas: ctx.Repo.Repository.ComposeMetas(), GitRepo: ctx.Repo.GitRepo, }, comment.Content) diff --git a/routers/web/repo/issue_label.go b/routers/web/repo/issue_label.go index 4ce8e17e1b..abb529649a 100644 --- a/routers/web/repo/issue_label.go +++ b/routers/web/repo/issue_label.go @@ -53,7 +53,7 @@ func InitializeLabels(ctx *context.Context) { // RetrieveLabels find all the labels of a repository and organization func RetrieveLabels(ctx *context.Context) { - labels, err := models.GetLabelsByRepoID(ctx.Repo.Repository.ID, ctx.Form("sort"), models.ListOptions{}) + labels, err := models.GetLabelsByRepoID(ctx.Repo.Repository.ID, ctx.FormString("sort"), models.ListOptions{}) if err != nil { ctx.ServerError("RetrieveLabels.GetLabels", err) return @@ -66,7 +66,7 @@ func RetrieveLabels(ctx *context.Context) { ctx.Data["Labels"] = labels if ctx.Repo.Owner.IsOrganization() { - orgLabels, err := models.GetLabelsByOrgID(ctx.Repo.Owner.ID, ctx.Form("sort"), models.ListOptions{}) + orgLabels, err := models.GetLabelsByOrgID(ctx.Repo.Owner.ID, ctx.FormString("sort"), models.ListOptions{}) if err != nil { ctx.ServerError("GetLabelsByOrgID", err) return @@ -93,7 +93,7 @@ func RetrieveLabels(ctx *context.Context) { } } ctx.Data["NumLabels"] = len(labels) - ctx.Data["SortType"] = ctx.Form("sort") + ctx.Data["SortType"] = ctx.FormString("sort") } // NewLabel create new label for repository @@ -165,7 +165,7 @@ func UpdateIssueLabel(ctx *context.Context) { return } - switch action := ctx.Form("action"); action { + switch action := ctx.FormString("action"); action { case "clear": for _, issue := range issues { if err := issue_service.ClearLabels(issue, ctx.User); err != nil { diff --git a/routers/web/repo/lfs.go b/routers/web/repo/lfs.go index e41319d71e..e524a9209a 100644 --- a/routers/web/repo/lfs.go +++ b/routers/web/repo/lfs.go @@ -195,7 +195,7 @@ func LFSLockFile(ctx *context.Context) { ctx.NotFound("LFSLocks", nil) return } - originalPath := ctx.Form("path") + originalPath := ctx.FormString("path") lockPath := originalPath if len(lockPath) == 0 { ctx.Flash.Error(ctx.Tr("repo.settings.lfs_invalid_locking_path", originalPath)) @@ -366,13 +366,13 @@ func LFSFileFind(ctx *context.Context) { ctx.NotFound("LFSFind", nil) return } - oid := ctx.Form("oid") + oid := ctx.FormString("oid") size := ctx.FormInt64("size") if len(oid) == 0 || size == 0 { ctx.NotFound("LFSFind", nil) return } - sha := ctx.Form("sha") + sha := ctx.FormString("sha") ctx.Data["Title"] = oid ctx.Data["PageIsSettingsLFS"] = true var hash git.SHA1 diff --git a/routers/web/repo/middlewares.go b/routers/web/repo/middlewares.go index 7625fbde32..2505443504 100644 --- a/routers/web/repo/middlewares.go +++ b/routers/web/repo/middlewares.go @@ -34,7 +34,7 @@ func SetEditorconfigIfExists(ctx *context.Context) { // SetDiffViewStyle set diff style as render variable func SetDiffViewStyle(ctx *context.Context) { - queryStyle := ctx.Form("style") + queryStyle := ctx.FormString("style") if !ctx.IsSigned { ctx.Data["IsSplitStyle"] = queryStyle == "split" @@ -62,7 +62,7 @@ func SetDiffViewStyle(ctx *context.Context) { // SetWhitespaceBehavior set whitespace behavior as render variable func SetWhitespaceBehavior(ctx *context.Context) { - whitespaceBehavior := ctx.Form("whitespace") + whitespaceBehavior := ctx.FormString("whitespace") switch whitespaceBehavior { case "ignore-all", "ignore-eol", "ignore-change": ctx.Data["WhitespaceBehavior"] = whitespaceBehavior diff --git a/routers/web/repo/migrate.go b/routers/web/repo/migrate.go index 167b12e562..3d710d0448 100644 --- a/routers/web/repo/migrate.go +++ b/routers/web/repo/migrate.go @@ -39,22 +39,22 @@ func Migrate(ctx *context.Context) { setMigrationContextData(ctx, serviceType) if serviceType == 0 { - ctx.Data["Org"] = ctx.Form("org") - ctx.Data["Mirror"] = ctx.Form("mirror") + ctx.Data["Org"] = ctx.FormString("org") + ctx.Data["Mirror"] = ctx.FormString("mirror") ctx.HTML(http.StatusOK, tplMigrate) return } ctx.Data["private"] = getRepoPrivate(ctx) - ctx.Data["mirror"] = ctx.Form("mirror") == "1" - ctx.Data["lfs"] = ctx.Form("lfs") == "1" - ctx.Data["wiki"] = ctx.Form("wiki") == "1" - ctx.Data["milestones"] = ctx.Form("milestones") == "1" - ctx.Data["labels"] = ctx.Form("labels") == "1" - ctx.Data["issues"] = ctx.Form("issues") == "1" - ctx.Data["pull_requests"] = ctx.Form("pull_requests") == "1" - ctx.Data["releases"] = ctx.Form("releases") == "1" + ctx.Data["mirror"] = ctx.FormString("mirror") == "1" + ctx.Data["lfs"] = ctx.FormString("lfs") == "1" + ctx.Data["wiki"] = ctx.FormString("wiki") == "1" + ctx.Data["milestones"] = ctx.FormString("milestones") == "1" + ctx.Data["labels"] = ctx.FormString("labels") == "1" + ctx.Data["issues"] = ctx.FormString("issues") == "1" + ctx.Data["pull_requests"] = ctx.FormString("pull_requests") == "1" + ctx.Data["releases"] = ctx.FormString("releases") == "1" ctxUser := checkContextUser(ctx, ctx.FormInt64("org")) if ctx.Written() { diff --git a/routers/web/repo/milestone.go b/routers/web/repo/milestone.go index c8eda66680..675cfef0aa 100644 --- a/routers/web/repo/milestone.go +++ b/routers/web/repo/milestone.go @@ -36,7 +36,7 @@ func Milestones(ctx *context.Context) { ctx.Data["PageIsIssueList"] = true ctx.Data["PageIsMilestones"] = true - isShowClosed := ctx.Form("state") == "closed" + isShowClosed := ctx.FormString("state") == "closed" stats, err := models.GetMilestonesStatsByRepoCond(builder.And(builder.Eq{"id": ctx.Repo.Repository.ID})) if err != nil { ctx.ServerError("MilestoneStats", err) @@ -45,9 +45,9 @@ func Milestones(ctx *context.Context) { ctx.Data["OpenCount"] = stats.OpenCount ctx.Data["ClosedCount"] = stats.ClosedCount - sortType := ctx.Form("sort") + sortType := ctx.FormString("sort") - keyword := strings.Trim(ctx.Form("q"), " ") + keyword := strings.Trim(ctx.FormString("q"), " ") page := ctx.FormInt("page") if page <= 1 { diff --git a/routers/web/repo/pull.go b/routers/web/repo/pull.go index ccdd670e6a..2fa5ab9186 100644 --- a/routers/web/repo/pull.go +++ b/routers/web/repo/pull.go @@ -1129,8 +1129,8 @@ func CompareAndPullRequestPost(ctx *context.Context) { // TriggerTask response for a trigger task request func TriggerTask(ctx *context.Context) { pusherID := ctx.FormInt64("pusher") - branch := ctx.Form("branch") - secret := ctx.Form("secret") + branch := ctx.FormString("branch") + secret := ctx.FormString("secret") if len(branch) == 0 || len(secret) == 0 || pusherID <= 0 { ctx.Error(http.StatusNotFound) log.Trace("TriggerTask: branch or secret is empty, or pusher ID is not valid") diff --git a/routers/web/repo/pull_review.go b/routers/web/repo/pull_review.go index b087e40ce6..257aa737f6 100644 --- a/routers/web/repo/pull_review.go +++ b/routers/web/repo/pull_review.go @@ -101,8 +101,8 @@ func CreateCodeComment(ctx *context.Context) { // UpdateResolveConversation add or remove an Conversation resolved mark func UpdateResolveConversation(ctx *context.Context) { - origin := ctx.Form("origin") - action := ctx.Form("action") + origin := ctx.FormString("origin") + action := ctx.FormString("action") commentID := ctx.FormInt64("comment_id") comment, err := models.GetCommentByID(commentID) diff --git a/routers/web/repo/release.go b/routers/web/repo/release.go index d0e59c8fa4..d1d904bcd9 100644 --- a/routers/web/repo/release.go +++ b/routers/web/repo/release.go @@ -252,7 +252,7 @@ func NewRelease(ctx *context.Context) { ctx.Data["RequireSimpleMDE"] = true ctx.Data["RequireTribute"] = true ctx.Data["tag_target"] = ctx.Repo.Repository.DefaultBranch - if tagName := ctx.Form("tag"); len(tagName) > 0 { + if tagName := ctx.FormString("tag"); len(tagName) > 0 { rel, err := models.GetRelease(ctx.Repo.Repository.ID, tagName) if err != nil && !models.IsErrReleaseNotExist(err) { ctx.ServerError("GetRelease", err) diff --git a/routers/web/repo/repo.go b/routers/web/repo/repo.go index d2c1a0c399..98f60c6b59 100644 --- a/routers/web/repo/repo.go +++ b/routers/web/repo/repo.go @@ -291,8 +291,8 @@ func Action(ctx *context.Context) { return } - ctx.Repo.Repository.Description = ctx.Form("desc") - ctx.Repo.Repository.Website = ctx.Form("site") + ctx.Repo.Repository.Description = ctx.FormString("desc") + ctx.Repo.Repository.Website = ctx.FormString("site") err = models.UpdateRepository(ctx.Repo.Repository, false) } @@ -301,7 +301,7 @@ func Action(ctx *context.Context) { return } - ctx.RedirectToFirst(ctx.Form("redirect_to"), ctx.Repo.RepoLink) + ctx.RedirectToFirst(ctx.FormString("redirect_to"), ctx.Repo.RepoLink) } func acceptOrRejectRepoTransfer(ctx *context.Context, accept bool) error { diff --git a/routers/web/repo/search.go b/routers/web/repo/search.go index 6fbc4fb4d5..02dd257cda 100644 --- a/routers/web/repo/search.go +++ b/routers/web/repo/search.go @@ -22,13 +22,13 @@ func Search(ctx *context.Context) { ctx.Redirect(ctx.Repo.RepoLink, 302) return } - language := strings.TrimSpace(ctx.Form("l")) - keyword := strings.TrimSpace(ctx.Form("q")) + language := strings.TrimSpace(ctx.FormString("l")) + keyword := strings.TrimSpace(ctx.FormString("q")) page := ctx.FormInt("page") if page <= 0 { page = 1 } - queryType := strings.TrimSpace(ctx.Form("t")) + queryType := strings.TrimSpace(ctx.FormString("t")) isMatch := queryType == "match" total, searchResults, searchResultLanguages, err := code_indexer.PerformSearch([]int64{ctx.Repo.Repository.ID}, diff --git a/routers/web/repo/setting.go b/routers/web/repo/setting.go index c1c49e8ac6..2f15610737 100644 --- a/routers/web/repo/setting.go +++ b/routers/web/repo/setting.go @@ -70,7 +70,7 @@ func SettingsPost(ctx *context.Context) { repo := ctx.Repo.Repository - switch ctx.Form("action") { + switch ctx.FormString("action") { case "update": if ctx.HasError() { ctx.HTML(http.StatusOK, tplSettingsOptions) @@ -560,7 +560,7 @@ func SettingsPost(ctx *context.Context) { return } - newOwner, err := models.GetUserByName(ctx.Form("new_owner_name")) + newOwner, err := models.GetUserByName(ctx.FormString("new_owner_name")) if err != nil { if models.IsErrUserNotExist(err) { ctx.RenderWithErr(ctx.Tr("form.enterred_invalid_owner_name"), tplSettingsOptions, nil) @@ -775,7 +775,7 @@ func Collaboration(ctx *context.Context) { // CollaborationPost response for actions for a collaboration of a repository func CollaborationPost(ctx *context.Context) { - name := utils.RemoveUsernameParameterSuffix(strings.ToLower(ctx.Form("collaborator"))) + name := utils.RemoveUsernameParameterSuffix(strings.ToLower(ctx.FormString("collaborator"))) if len(name) == 0 || ctx.Repo.Owner.LowerName == name { ctx.Redirect(setting.AppSubURL + ctx.Req.URL.Path) return @@ -854,7 +854,7 @@ func AddTeamPost(ctx *context.Context) { return } - name := utils.RemoveUsernameParameterSuffix(strings.ToLower(ctx.Form("team"))) + name := utils.RemoveUsernameParameterSuffix(strings.ToLower(ctx.FormString("team"))) if len(name) == 0 { ctx.Redirect(ctx.Repo.RepoLink + "/settings/collaboration") return @@ -988,7 +988,7 @@ func GitHooksEditPost(ctx *context.Context) { } return } - hook.Content = ctx.Form("content") + hook.Content = ctx.FormString("content") if err = hook.Update(); err != nil { ctx.ServerError("hook.Update", err) return diff --git a/routers/web/repo/setting_protected_branch.go b/routers/web/repo/setting_protected_branch.go index 7a1a3d0bcf..30c7d81b8e 100644 --- a/routers/web/repo/setting_protected_branch.go +++ b/routers/web/repo/setting_protected_branch.go @@ -60,14 +60,14 @@ func ProtectedBranchPost(ctx *context.Context) { repo := ctx.Repo.Repository - switch ctx.Form("action") { + switch ctx.FormString("action") { case "default_branch": if ctx.HasError() { ctx.HTML(http.StatusOK, tplBranches) return } - branch := ctx.Form("branch") + branch := ctx.FormString("branch") if !ctx.Repo.GitRepo.IsBranchExist(branch) { ctx.Status(404) return diff --git a/routers/web/repo/topic.go b/routers/web/repo/topic.go index 5a24d7b2b6..2a2a04c111 100644 --- a/routers/web/repo/topic.go +++ b/routers/web/repo/topic.go @@ -23,7 +23,7 @@ func TopicsPost(ctx *context.Context) { } var topics = make([]string, 0) - var topicsStr = strings.TrimSpace(ctx.Form("topics")) + var topicsStr = strings.TrimSpace(ctx.FormString("topics")) if len(topicsStr) > 0 { topics = strings.Split(topicsStr, ",") } diff --git a/routers/web/repo/view.go b/routers/web/repo/view.go index b0c8ba970a..6c8645226f 100644 --- a/routers/web/repo/view.go +++ b/routers/web/repo/view.go @@ -416,7 +416,7 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink st isTextFile := st.IsText() isLFSFile := false - isDisplayingSource := ctx.Form("display") == "source" + isDisplayingSource := ctx.FormString("display") == "source" isDisplayingRendered := !isDisplayingSource //Check for LFS meta file diff --git a/routers/web/user/auth.go b/routers/web/user/auth.go index 72e990f661..a9e60bb07c 100644 --- a/routers/web/user/auth.go +++ b/routers/web/user/auth.go @@ -111,7 +111,7 @@ func checkAutoLogin(ctx *context.Context) bool { return true } - redirectTo := ctx.Form("redirect_to") + redirectTo := ctx.FormString("redirect_to") if len(redirectTo) > 0 { middleware.SetRedirectToCookie(ctx.Resp, redirectTo) } else { @@ -1333,7 +1333,7 @@ func handleUserCreated(ctx *context.Context, u *models.User, gothUser *goth.User // Activate render activate user page func Activate(ctx *context.Context) { - code := ctx.Form("code") + code := ctx.FormString("code") if len(code) == 0 { ctx.Data["IsActivatePage"] = true @@ -1381,7 +1381,7 @@ func Activate(ctx *context.Context) { // ActivatePost handles account activation with password check func ActivatePost(ctx *context.Context) { - code := ctx.Form("code") + code := ctx.FormString("code") if len(code) == 0 { ctx.Redirect(setting.AppSubURL + "/user/activate") return @@ -1397,7 +1397,7 @@ func ActivatePost(ctx *context.Context) { // if account is local account, verify password if user.LoginSource == 0 { - password := ctx.Form("password") + password := ctx.FormString("password") if len(password) == 0 { ctx.Data["Code"] = code ctx.Data["NeedsPassword"] = true @@ -1454,8 +1454,8 @@ func handleAccountActivation(ctx *context.Context, user *models.User) { // ActivateEmail render the activate email page func ActivateEmail(ctx *context.Context) { - code := ctx.Form("code") - emailStr := ctx.Form("email") + code := ctx.FormString("code") + emailStr := ctx.FormString("email") // Verify code. if email := models.VerifyActiveEmailCode(code, emailStr); email != nil { @@ -1491,7 +1491,7 @@ func ForgotPasswd(ctx *context.Context) { return } - email := ctx.Form("email") + email := ctx.FormString("email") ctx.Data["Email"] = email ctx.Data["IsResetRequest"] = true @@ -1508,7 +1508,7 @@ func ForgotPasswdPost(ctx *context.Context) { } ctx.Data["IsResetRequest"] = true - email := ctx.Form("email") + email := ctx.FormString("email") ctx.Data["Email"] = email u, err := models.GetUserByEmail(email) @@ -1548,7 +1548,7 @@ func ForgotPasswdPost(ctx *context.Context) { } func commonResetPassword(ctx *context.Context) (*models.User, *models.TwoFactor) { - code := ctx.Form("code") + code := ctx.FormString("code") ctx.Data["Title"] = ctx.Tr("auth.reset_password") ctx.Data["Code"] = code @@ -1617,7 +1617,7 @@ func ResetPasswdPost(ctx *context.Context) { } // Validate password length. - passwd := ctx.Form("password") + passwd := ctx.FormString("password") if len(passwd) < setting.MinPasswordLength { ctx.Data["IsResetForm"] = true ctx.Data["Err_Password"] = true @@ -1644,7 +1644,7 @@ func ResetPasswdPost(ctx *context.Context) { regenerateScratchToken := false if twofa != nil { if ctx.FormBool("scratch_code") { - if !twofa.VerifyScratchToken(ctx.Form("token")) { + if !twofa.VerifyScratchToken(ctx.FormString("token")) { ctx.Data["IsResetForm"] = true ctx.Data["Err_Token"] = true ctx.RenderWithErr(ctx.Tr("auth.twofa_scratch_token_incorrect"), tplResetPassword, nil) @@ -1652,7 +1652,7 @@ func ResetPasswdPost(ctx *context.Context) { } regenerateScratchToken = true } else { - passcode := ctx.Form("passcode") + passcode := ctx.FormString("passcode") ok, err := twofa.ValidateTOTP(passcode) if err != nil { ctx.Error(http.StatusInternalServerError, "ValidateTOTP", err.Error()) @@ -1689,7 +1689,7 @@ func ResetPasswdPost(ctx *context.Context) { log.Trace("User password reset: %s", u.Name) ctx.Data["IsResetFailed"] = true - remember := len(ctx.Form("remember")) != 0 + remember := len(ctx.FormString("remember")) != 0 if regenerateScratchToken { // Invalidate the scratch token. diff --git a/routers/web/user/auth_openid.go b/routers/web/user/auth_openid.go index 9106f012ff..fc419a7f6e 100644 --- a/routers/web/user/auth_openid.go +++ b/routers/web/user/auth_openid.go @@ -34,7 +34,7 @@ const ( func SignInOpenID(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("sign_in") - if ctx.Form("openid.return_to") != "" { + if ctx.FormString("openid.return_to") != "" { signInOpenIDVerify(ctx) return } @@ -46,7 +46,7 @@ func SignInOpenID(ctx *context.Context) { return } - redirectTo := ctx.Form("redirect_to") + redirectTo := ctx.FormString("redirect_to") if len(redirectTo) > 0 { middleware.SetRedirectToCookie(ctx.Resp, redirectTo) } else { diff --git a/routers/web/user/home.go b/routers/web/user/home.go index 3b89840720..285f1ff367 100644 --- a/routers/web/user/home.go +++ b/routers/web/user/home.go @@ -157,7 +157,7 @@ func Dashboard(ctx *context.Context) { IncludePrivate: true, OnlyPerformedBy: false, IncludeDeleted: false, - Date: ctx.Form("date"), + Date: ctx.FormString("date"), }) if ctx.Written() { @@ -200,11 +200,11 @@ func Milestones(ctx *context.Context) { repoCond = userRepoCond repoIDs []int64 - reposQuery = ctx.Form("repos") - isShowClosed = ctx.Form("state") == "closed" - sortType = ctx.Form("sort") + reposQuery = ctx.FormString("repos") + isShowClosed = ctx.FormString("state") == "closed" + sortType = ctx.FormString("sort") page = ctx.FormInt("page") - keyword = strings.Trim(ctx.Form("q"), " ") + keyword = strings.Trim(ctx.FormString("q"), " ") ) if page <= 1 { @@ -380,7 +380,7 @@ func buildIssueOverview(ctx *context.Context, unitType models.UnitType) { var ( viewType string - sortType = ctx.Form("sort") + sortType = ctx.FormString("sort") filterMode = models.FilterModeAll ) @@ -390,14 +390,14 @@ func buildIssueOverview(ctx *context.Context, unitType models.UnitType) { // - Remember pre-determined viewType string for later. Will be posted to ctx.Data. // Organization does not have view type and filter mode. // User: - // - Use ctx.Form("type") to determine filterMode. + // - Use ctx.FormString("type") to determine filterMode. // The type is set when clicking for example "assigned to me" on the overview page. // - Remember either this or a fallback. Will be posted to ctx.Data. // -------------------------------------------------------------------------------- // TODO: distinguish during routing - viewType = ctx.Form("type") + viewType = ctx.FormString("type") switch viewType { case "assigned": filterMode = models.FilterModeAssign @@ -456,7 +456,7 @@ func buildIssueOverview(ctx *context.Context, unitType models.UnitType) { } // keyword holds the search term entered into the search field. - keyword := strings.Trim(ctx.Form("q"), " ") + keyword := strings.Trim(ctx.FormString("q"), " ") ctx.Data["Keyword"] = keyword // Execute keyword search for issues. @@ -477,7 +477,7 @@ func buildIssueOverview(ctx *context.Context, unitType models.UnitType) { } // Educated guess: Do or don't show closed issues. - isShowClosed := ctx.Form("state") == "closed" + isShowClosed := ctx.FormString("state") == "closed" opts.IsClosed = util.OptionalBoolOf(isShowClosed) // Filter repos and count issues in them. Count will be used later. @@ -502,7 +502,7 @@ func buildIssueOverview(ctx *context.Context, unitType models.UnitType) { // Get IDs for labels (a filter option for issues/pulls). // Required for IssuesOptions. var labelIDs []int64 - selectedLabels := ctx.Form("labels") + selectedLabels := ctx.FormString("labels") if len(selectedLabels) > 0 && selectedLabels != "0" { labelIDs, err = base.StringsToInt64s(strings.Split(selectedLabels, ",")) if err != nil { @@ -512,9 +512,9 @@ func buildIssueOverview(ctx *context.Context, unitType models.UnitType) { } opts.LabelIDs = labelIDs - // Parse ctx.Form("repos") and remember matched repo IDs for later. + // Parse ctx.FormString("repos") and remember matched repo IDs for later. // Gets set when clicking filters on the issues overview page. - repoIDs := getRepoIDs(ctx.Form("repos")) + repoIDs := getRepoIDs(ctx.FormString("repos")) if len(repoIDs) > 0 { opts.RepoIDs = repoIDs } @@ -658,7 +658,7 @@ func buildIssueOverview(ctx *context.Context, unitType models.UnitType) { ctx.Data["IsShowClosed"] = isShowClosed ctx.Data["IssueRefEndNames"], ctx.Data["IssueRefURLs"] = - issue_service.GetRefEndNamesAndURLs(issues, ctx.Form("RepoLink")) + issue_service.GetRefEndNamesAndURLs(issues, ctx.FormString("RepoLink")) ctx.Data["Issues"] = issues @@ -900,7 +900,7 @@ func ShowGPGKeys(ctx *context.Context, uid int64) { // Email2User show user page via email func Email2User(ctx *context.Context) { - u, err := models.GetUserByEmail(ctx.Form("email")) + u, err := models.GetUserByEmail(ctx.FormString("email")) if err != nil { if models.IsErrUserNotExist(err) { ctx.NotFound("GetUserByEmail", err) diff --git a/routers/web/user/notification.go b/routers/web/user/notification.go index 0a43cbbf27..bc017db9d4 100644 --- a/routers/web/user/notification.go +++ b/routers/web/user/notification.go @@ -50,7 +50,7 @@ func Notifications(c *context.Context) { return } if c.FormBool("div-only") { - c.Data["SequenceNumber"] = c.Form("sequence-number") + c.Data["SequenceNumber"] = c.FormString("sequence-number") c.HTML(http.StatusOK, tplNotificationDiv) return } @@ -59,7 +59,7 @@ func Notifications(c *context.Context) { func getNotifications(c *context.Context) { var ( - keyword = strings.Trim(c.Form("q"), " ") + keyword = strings.Trim(c.FormString("q"), " ") status models.NotificationStatus page = c.FormInt("page") perPage = c.FormInt("perPage") @@ -87,7 +87,7 @@ func getNotifications(c *context.Context) { // redirect to last page if request page is more than total pages pager := context.NewPagination(int(total), perPage, page, 5) if pager.Paginater.Current() < page { - c.Redirect(fmt.Sprintf("/notifications?q=%s&page=%d", c.Form("q"), pager.Paginater.Current())) + c.Redirect(fmt.Sprintf("/notifications?q=%s&page=%d", c.FormString("q"), pager.Paginater.Current())) return } @@ -167,7 +167,7 @@ func NotificationStatusPost(c *context.Context) { } if !c.FormBool("noredirect") { - url := fmt.Sprintf("%s/notifications?page=%s", setting.AppSubURL, c.Form("page")) + url := fmt.Sprintf("%s/notifications?page=%s", setting.AppSubURL, c.FormString("page")) c.Redirect(url, http.StatusSeeOther) } diff --git a/routers/web/user/profile.go b/routers/web/user/profile.go index cb14347886..e6a8e5b5a8 100644 --- a/routers/web/user/profile.go +++ b/routers/web/user/profile.go @@ -143,7 +143,7 @@ func Profile(ctx *context.Context) { ctx.Data["Orgs"] = orgs ctx.Data["HasOrgsVisible"] = models.HasOrgsVisible(orgs, ctx.User) - tab := ctx.Form("tab") + tab := ctx.FormString("tab") ctx.Data["TabName"] = tab page := ctx.FormInt("page") @@ -160,8 +160,8 @@ func Profile(ctx *context.Context) { orderBy models.SearchOrderBy ) - ctx.Data["SortType"] = ctx.Form("sort") - switch ctx.Form("sort") { + ctx.Data["SortType"] = ctx.FormString("sort") + switch ctx.FormString("sort") { case "newest": orderBy = models.SearchOrderByNewest case "oldest": @@ -187,7 +187,7 @@ func Profile(ctx *context.Context) { orderBy = models.SearchOrderByRecentUpdated } - keyword := strings.Trim(ctx.Form("q"), " ") + keyword := strings.Trim(ctx.FormString("q"), " ") ctx.Data["Keyword"] = keyword switch tab { case "followers": @@ -220,7 +220,7 @@ func Profile(ctx *context.Context) { IncludePrivate: showPrivate, OnlyPerformedBy: true, IncludeDeleted: false, - Date: ctx.Form("date"), + Date: ctx.FormString("date"), }) if ctx.Written() { return @@ -332,5 +332,5 @@ func Action(ctx *context.Context) { return } - ctx.RedirectToFirst(ctx.Form("redirect_to"), u.HomeLink()) + ctx.RedirectToFirst(ctx.FormString("redirect_to"), u.HomeLink()) } diff --git a/routers/web/user/setting/account.go b/routers/web/user/setting/account.go index ea349949f9..6201078954 100644 --- a/routers/web/user/setting/account.go +++ b/routers/web/user/setting/account.go @@ -90,7 +90,7 @@ func EmailPost(ctx *context.Context) { ctx.Data["PageIsSettingsAccount"] = true // Make emailaddress primary. - if ctx.Form("_method") == "PRIMARY" { + if ctx.FormString("_method") == "PRIMARY" { if err := models.MakeEmailPrimary(&models.EmailAddress{ID: ctx.FormInt64("id")}); err != nil { ctx.ServerError("MakeEmailPrimary", err) return @@ -101,7 +101,7 @@ func EmailPost(ctx *context.Context) { return } // Send activation Email - if ctx.Form("_method") == "SENDACTIVATION" { + if ctx.FormString("_method") == "SENDACTIVATION" { var address string if ctx.Cache.IsExist("MailResendLimit_" + ctx.User.LowerName) { log.Error("Send activation: activation still pending") @@ -147,8 +147,8 @@ func EmailPost(ctx *context.Context) { return } // Set Email Notification Preference - if ctx.Form("_method") == "NOTIFICATION" { - preference := ctx.Form("preference") + if ctx.FormString("_method") == "NOTIFICATION" { + preference := ctx.FormString("preference") if !(preference == models.EmailNotificationsEnabled || preference == models.EmailNotificationsOnMention || preference == models.EmailNotificationsDisabled) { @@ -229,7 +229,7 @@ func DeleteAccount(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("settings") ctx.Data["PageIsSettingsAccount"] = true - if _, err := auth.UserSignIn(ctx.User.Name, ctx.Form("password")); err != nil { + if _, err := auth.UserSignIn(ctx.User.Name, ctx.FormString("password")); err != nil { if models.IsErrUserNotExist(err) { loadAccountData(ctx) diff --git a/routers/web/user/setting/adopt.go b/routers/web/user/setting/adopt.go index 8ade9c4257..e45a8a1324 100644 --- a/routers/web/user/setting/adopt.go +++ b/routers/web/user/setting/adopt.go @@ -23,8 +23,8 @@ func AdoptOrDeleteRepository(ctx *context.Context) { allowDelete := ctx.IsUserSiteAdmin() || setting.Repository.AllowDeleteOfUnadoptedRepositories ctx.Data["allowDelete"] = allowDelete - dir := ctx.Form("id") - action := ctx.Form("action") + dir := ctx.FormString("id") + action := ctx.FormString("action") ctxUser := ctx.User root := filepath.Join(models.UserPath(ctxUser.LowerName)) diff --git a/routers/web/user/setting/keys.go b/routers/web/user/setting/keys.go index c1ea87cabc..24b9a9e205 100644 --- a/routers/web/user/setting/keys.go +++ b/routers/web/user/setting/keys.go @@ -193,7 +193,7 @@ func KeysPost(ctx *context.Context) { // DeleteKey response for delete user's SSH/GPG key func DeleteKey(ctx *context.Context) { - switch ctx.Form("type") { + switch ctx.FormString("type") { case "gpg": if err := models.DeleteGPGKey(ctx.User, ctx.FormInt64("id")); err != nil { ctx.Flash.Error("DeleteGPGKey: " + err.Error()) @@ -265,5 +265,5 @@ func loadKeysData(ctx *context.Context) { } ctx.Data["Principals"] = principals - ctx.Data["VerifyingID"] = ctx.Form("verify_gpg") + ctx.Data["VerifyingID"] = ctx.FormString("verify_gpg") } diff --git a/routers/web/user/setting/security.go b/routers/web/user/setting/security.go index 36c6d7df72..3406194015 100644 --- a/routers/web/user/setting/security.go +++ b/routers/web/user/setting/security.go @@ -25,7 +25,7 @@ func Security(ctx *context.Context) { ctx.Data["PageIsSettingsSecurity"] = true ctx.Data["RequireU2F"] = true - if ctx.Form("openid.return_to") != "" { + if ctx.FormString("openid.return_to") != "" { settingsOpenIDVerify(ctx) return } diff --git a/services/lfs/locks.go b/services/lfs/locks.go index be91dcc040..ac72fff6af 100644 --- a/services/lfs/locks.go +++ b/services/lfs/locks.go @@ -78,7 +78,7 @@ func GetListLockHandler(ctx *context.Context) { } else if limit < 0 { limit = 0 } - id := ctx.Form("id") + id := ctx.FormString("id") if id != "" { //Case where we request a specific id v, err := strconv.ParseInt(id, 10, 64) if err != nil { @@ -95,7 +95,7 @@ func GetListLockHandler(ctx *context.Context) { return } - path := ctx.Form("path") + path := ctx.FormString("path") if path != "" { //Case where we request a specific id lock, err := models.GetLFSLock(repository, path) if err != nil && !models.IsErrLFSLockNotExist(err) {