mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	Related refactors to ctx.FormX functions (#16567)
* use FormTrim if posible * speedup goGet * only convert if nessesary
This commit is contained in:
		@@ -171,7 +171,7 @@ func ReadRepoNotifications(ctx *context.APIContext) {
 | 
			
		||||
	//     "$ref": "#/responses/empty"
 | 
			
		||||
 | 
			
		||||
	lastRead := int64(0)
 | 
			
		||||
	qLastRead := strings.Trim(ctx.FormString("last_read_at"), " ")
 | 
			
		||||
	qLastRead := ctx.FormTrim("last_read_at")
 | 
			
		||||
	if len(qLastRead) > 0 {
 | 
			
		||||
		tmpLastRead, err := time.Parse(time.RFC3339, qLastRead)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,6 @@ package notify
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"strings"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
@@ -122,7 +121,7 @@ func ReadNotifications(ctx *context.APIContext) {
 | 
			
		||||
	//     "$ref": "#/responses/empty"
 | 
			
		||||
 | 
			
		||||
	lastRead := int64(0)
 | 
			
		||||
	qLastRead := strings.Trim(ctx.FormString("last_read_at"), " ")
 | 
			
		||||
	qLastRead := ctx.FormTrim("last_read_at")
 | 
			
		||||
	if len(qLastRead) > 0 {
 | 
			
		||||
		tmpLastRead, err := time.Parse(time.RFC3339, qLastRead)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,6 @@ package org
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/modules/context"
 | 
			
		||||
@@ -658,7 +657,7 @@ func SearchTeam(ctx *context.APIContext) {
 | 
			
		||||
 | 
			
		||||
	opts := &models.SearchTeamOptions{
 | 
			
		||||
		UserID:      ctx.User.ID,
 | 
			
		||||
		Keyword:     strings.TrimSpace(ctx.FormString("q")),
 | 
			
		||||
		Keyword:     ctx.FormTrim("q"),
 | 
			
		||||
		OrgID:       ctx.Org.Organization.ID,
 | 
			
		||||
		IncludeDesc: ctx.FormString("include_desc") == "" || ctx.FormBool("include_desc"),
 | 
			
		||||
		ListOptions: listOptions,
 | 
			
		||||
 
 | 
			
		||||
@@ -140,7 +140,7 @@ func SearchIssues(ctx *context.APIContext) {
 | 
			
		||||
	var issues []*models.Issue
 | 
			
		||||
	var filteredCount int64
 | 
			
		||||
 | 
			
		||||
	keyword := strings.Trim(ctx.FormString("q"), " ")
 | 
			
		||||
	keyword := ctx.FormTrim("q")
 | 
			
		||||
	if strings.IndexByte(keyword, 0) >= 0 {
 | 
			
		||||
		keyword = ""
 | 
			
		||||
	}
 | 
			
		||||
@@ -162,13 +162,13 @@ func SearchIssues(ctx *context.APIContext) {
 | 
			
		||||
		isPull = util.OptionalBoolNone
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	labels := strings.TrimSpace(ctx.FormString("labels"))
 | 
			
		||||
	labels := ctx.FormTrim("labels")
 | 
			
		||||
	var includedLabelNames []string
 | 
			
		||||
	if len(labels) > 0 {
 | 
			
		||||
		includedLabelNames = strings.Split(labels, ",")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	milestones := strings.TrimSpace(ctx.FormString("milestones"))
 | 
			
		||||
	milestones := ctx.FormTrim("milestones")
 | 
			
		||||
	var includedMilestones []string
 | 
			
		||||
	if len(milestones) > 0 {
 | 
			
		||||
		includedMilestones = strings.Split(milestones, ",")
 | 
			
		||||
@@ -331,7 +331,7 @@ func ListIssues(ctx *context.APIContext) {
 | 
			
		||||
	var issues []*models.Issue
 | 
			
		||||
	var filteredCount int64
 | 
			
		||||
 | 
			
		||||
	keyword := strings.Trim(ctx.FormString("q"), " ")
 | 
			
		||||
	keyword := ctx.FormTrim("q")
 | 
			
		||||
	if strings.IndexByte(keyword, 0) >= 0 {
 | 
			
		||||
		keyword = ""
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,6 @@ package repo
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"strings"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
@@ -90,7 +89,7 @@ func ListTrackedTimes(ctx *context.APIContext) {
 | 
			
		||||
		IssueID:      issue.ID,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	qUser := strings.Trim(ctx.FormString("user"), " ")
 | 
			
		||||
	qUser := ctx.FormTrim("user")
 | 
			
		||||
	if qUser != "" {
 | 
			
		||||
		user, err := models.GetUserByName(qUser)
 | 
			
		||||
		if models.IsErrUserNotExist(err) {
 | 
			
		||||
@@ -500,7 +499,7 @@ func ListTrackedTimesByRepository(ctx *context.APIContext) {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Filters
 | 
			
		||||
	qUser := strings.Trim(ctx.FormString("user"), " ")
 | 
			
		||||
	qUser := ctx.FormTrim("user")
 | 
			
		||||
	if qUser != "" {
 | 
			
		||||
		user, err := models.GetUserByName(qUser)
 | 
			
		||||
		if models.IsErrUserNotExist(err) {
 | 
			
		||||
 
 | 
			
		||||
@@ -135,7 +135,7 @@ func Search(ctx *context.APIContext) {
 | 
			
		||||
	opts := &models.SearchRepoOptions{
 | 
			
		||||
		ListOptions:        utils.GetListOptions(ctx),
 | 
			
		||||
		Actor:              ctx.User,
 | 
			
		||||
		Keyword:            strings.Trim(ctx.FormString("q"), " "),
 | 
			
		||||
		Keyword:            ctx.FormTrim("q"),
 | 
			
		||||
		OwnerID:            ctx.FormInt64("uid"),
 | 
			
		||||
		PriorityOwnerID:    ctx.FormInt64("priority_owner_id"),
 | 
			
		||||
		TeamID:             ctx.FormInt64("team_id"),
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,6 @@ package user
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/modules/context"
 | 
			
		||||
@@ -58,7 +57,7 @@ func Search(ctx *context.APIContext) {
 | 
			
		||||
 | 
			
		||||
	opts := &models.SearchUserOptions{
 | 
			
		||||
		Actor:       ctx.User,
 | 
			
		||||
		Keyword:     strings.Trim(ctx.FormString("q"), " "),
 | 
			
		||||
		Keyword:     ctx.FormTrim("q"),
 | 
			
		||||
		UID:         ctx.FormInt64("uid"),
 | 
			
		||||
		Type:        models.UserTypeIndividual,
 | 
			
		||||
		ListOptions: listOptions,
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,6 @@ package admin
 | 
			
		||||
import (
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"net/url"
 | 
			
		||||
	"strconv"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
@@ -111,7 +110,7 @@ func UnadoptedRepos(ctx *context.Context) {
 | 
			
		||||
func AdoptOrDeleteRepository(ctx *context.Context) {
 | 
			
		||||
	dir := ctx.FormString("id")
 | 
			
		||||
	action := ctx.FormString("action")
 | 
			
		||||
	page := ctx.FormInt("page")
 | 
			
		||||
	page := ctx.FormString("page")
 | 
			
		||||
	q := ctx.FormString("q")
 | 
			
		||||
 | 
			
		||||
	dirSplit := strings.SplitN(dir, "/", 2)
 | 
			
		||||
@@ -162,5 +161,5 @@ func AdoptOrDeleteRepository(ctx *context.Context) {
 | 
			
		||||
		}
 | 
			
		||||
		ctx.Flash.Success(ctx.Tr("repo.delete_preexisting_success", dir))
 | 
			
		||||
	}
 | 
			
		||||
	ctx.Redirect(setting.AppSubURL + "/admin/repos/unadopted?search=true&q=" + url.QueryEscape(q) + "&page=" + strconv.Itoa(page))
 | 
			
		||||
	ctx.Redirect(setting.AppSubURL + "/admin/repos/unadopted?search=true&q=" + url.QueryEscape(q) + "&page=" + page)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,6 @@ package explore
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/modules/base"
 | 
			
		||||
@@ -33,14 +32,14 @@ func Code(ctx *context.Context) {
 | 
			
		||||
	ctx.Data["PageIsExplore"] = true
 | 
			
		||||
	ctx.Data["PageIsExploreCode"] = true
 | 
			
		||||
 | 
			
		||||
	language := strings.TrimSpace(ctx.FormString("l"))
 | 
			
		||||
	keyword := strings.TrimSpace(ctx.FormString("q"))
 | 
			
		||||
	language := ctx.FormTrim("l")
 | 
			
		||||
	keyword := ctx.FormTrim("q")
 | 
			
		||||
	page := ctx.FormInt("page")
 | 
			
		||||
	if page <= 0 {
 | 
			
		||||
		page = 1
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	queryType := strings.TrimSpace(ctx.FormString("t"))
 | 
			
		||||
	queryType := ctx.FormTrim("t")
 | 
			
		||||
	isMatch := queryType == "match"
 | 
			
		||||
 | 
			
		||||
	var (
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,6 @@ package explore
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/modules/base"
 | 
			
		||||
@@ -73,7 +72,7 @@ func RenderRepoSearch(ctx *context.Context, opts *RepoSearchOptions) {
 | 
			
		||||
		orderBy = models.SearchOrderByRecentUpdated
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	keyword := strings.Trim(ctx.FormString("q"), " ")
 | 
			
		||||
	keyword := ctx.FormTrim("q")
 | 
			
		||||
	topicOnly := ctx.FormBool("topic")
 | 
			
		||||
	ctx.Data["TopicOnly"] = topicOnly
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,6 @@ package explore
 | 
			
		||||
import (
 | 
			
		||||
	"bytes"
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/modules/base"
 | 
			
		||||
@@ -63,7 +62,7 @@ func RenderUserSearch(ctx *context.Context, opts *models.SearchUserOptions, tplN
 | 
			
		||||
		orderBy = models.SearchOrderByAlphabetically
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	opts.Keyword = strings.Trim(ctx.FormString("q"), " ")
 | 
			
		||||
	opts.Keyword = ctx.FormTrim("q")
 | 
			
		||||
	opts.OrderBy = orderBy
 | 
			
		||||
	if len(opts.Keyword) == 0 || isKeywordValid(opts.Keyword) {
 | 
			
		||||
		users, count, err = models.SearchUsers(opts)
 | 
			
		||||
 
 | 
			
		||||
@@ -18,7 +18,7 @@ import (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func goGet(ctx *context.Context) {
 | 
			
		||||
	if ctx.Req.Method != "GET" || ctx.FormString("go-get") != "1" || len(ctx.Req.URL.Query()) > 1 {
 | 
			
		||||
	if ctx.Req.Method != "GET" || len(ctx.Req.URL.RawQuery) < 8 || ctx.FormString("go-get") != "1" {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,6 @@ package org
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/modules/base"
 | 
			
		||||
@@ -78,7 +77,7 @@ func Home(ctx *context.Context) {
 | 
			
		||||
		orderBy = models.SearchOrderByRecentUpdated
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	keyword := strings.Trim(ctx.FormString("q"), " ")
 | 
			
		||||
	keyword := ctx.FormTrim("q")
 | 
			
		||||
	ctx.Data["Keyword"] = keyword
 | 
			
		||||
 | 
			
		||||
	page := ctx.FormInt("page")
 | 
			
		||||
 
 | 
			
		||||
@@ -177,7 +177,7 @@ func SearchCommits(ctx *context.Context) {
 | 
			
		||||
	ctx.Data["PageIsCommits"] = true
 | 
			
		||||
	ctx.Data["PageIsViewCode"] = true
 | 
			
		||||
 | 
			
		||||
	query := strings.Trim(ctx.FormString("q"), " ")
 | 
			
		||||
	query := ctx.FormTrim("q")
 | 
			
		||||
	if len(query) == 0 {
 | 
			
		||||
		ctx.Redirect(ctx.Repo.RepoLink + "/commits/" + ctx.Repo.BranchNameSubURL())
 | 
			
		||||
		return
 | 
			
		||||
 
 | 
			
		||||
@@ -1722,14 +1722,12 @@ func UpdateIssueContent(ctx *context.Context) {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	content := ctx.FormString("content")
 | 
			
		||||
	if err := issue_service.ChangeContent(issue, ctx.User, content); err != nil {
 | 
			
		||||
	if err := issue_service.ChangeContent(issue, ctx.User, ctx.Req.FormValue("content")); err != nil {
 | 
			
		||||
		ctx.ServerError("ChangeContent", err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	files := ctx.FormStrings("files[]")
 | 
			
		||||
	if err := updateAttachments(issue, files); err != nil {
 | 
			
		||||
	if err := updateAttachments(issue, ctx.FormStrings("files[]")); err != nil {
 | 
			
		||||
		ctx.ServerError("UpdateAttachments", err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
@@ -2157,8 +2155,7 @@ func UpdateCommentContent(ctx *context.Context) {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	files := ctx.FormStrings("files[]")
 | 
			
		||||
	if err := updateAttachments(comment, files); err != nil {
 | 
			
		||||
	if err := updateAttachments(comment, ctx.FormStrings("files[]")); err != nil {
 | 
			
		||||
		ctx.ServerError("UpdateAttachments", err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,6 @@ package repo
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"strings"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
@@ -47,7 +46,7 @@ func Milestones(ctx *context.Context) {
 | 
			
		||||
 | 
			
		||||
	sortType := ctx.FormString("sort")
 | 
			
		||||
 | 
			
		||||
	keyword := strings.Trim(ctx.FormString("q"), " ")
 | 
			
		||||
	keyword := ctx.FormTrim("q")
 | 
			
		||||
 | 
			
		||||
	page := ctx.FormInt("page")
 | 
			
		||||
	if page <= 1 {
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,6 @@ package repo
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/modules/base"
 | 
			
		||||
	"code.gitea.io/gitea/modules/context"
 | 
			
		||||
@@ -22,13 +21,13 @@ func Search(ctx *context.Context) {
 | 
			
		||||
		ctx.Redirect(ctx.Repo.RepoLink, 302)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	language := strings.TrimSpace(ctx.FormString("l"))
 | 
			
		||||
	keyword := strings.TrimSpace(ctx.FormString("q"))
 | 
			
		||||
	language := ctx.FormTrim("l")
 | 
			
		||||
	keyword := ctx.FormTrim("q")
 | 
			
		||||
	page := ctx.FormInt("page")
 | 
			
		||||
	if page <= 0 {
 | 
			
		||||
		page = 1
 | 
			
		||||
	}
 | 
			
		||||
	queryType := strings.TrimSpace(ctx.FormString("t"))
 | 
			
		||||
	queryType := ctx.FormTrim("t")
 | 
			
		||||
	isMatch := queryType == "match"
 | 
			
		||||
 | 
			
		||||
	total, searchResults, searchResultLanguages, err := code_indexer.PerformSearch([]int64{ctx.Repo.Repository.ID},
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@ func TopicsPost(ctx *context.Context) {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var topics = make([]string, 0)
 | 
			
		||||
	var topicsStr = strings.TrimSpace(ctx.FormString("topics"))
 | 
			
		||||
	var topicsStr = ctx.FormTrim("topics")
 | 
			
		||||
	if len(topicsStr) > 0 {
 | 
			
		||||
		topics = strings.Split(topicsStr, ",")
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -1491,8 +1491,7 @@ func ForgotPasswd(ctx *context.Context) {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	email := ctx.FormString("email")
 | 
			
		||||
	ctx.Data["Email"] = email
 | 
			
		||||
	ctx.Data["Email"] = ctx.FormString("email")
 | 
			
		||||
 | 
			
		||||
	ctx.Data["IsResetRequest"] = true
 | 
			
		||||
	ctx.HTML(http.StatusOK, tplForgotPassword)
 | 
			
		||||
 
 | 
			
		||||
@@ -204,7 +204,7 @@ func Milestones(ctx *context.Context) {
 | 
			
		||||
		isShowClosed = ctx.FormString("state") == "closed"
 | 
			
		||||
		sortType     = ctx.FormString("sort")
 | 
			
		||||
		page         = ctx.FormInt("page")
 | 
			
		||||
		keyword      = strings.Trim(ctx.FormString("q"), " ")
 | 
			
		||||
		keyword      = ctx.FormTrim("q")
 | 
			
		||||
	)
 | 
			
		||||
 | 
			
		||||
	if page <= 1 {
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,6 @@ import (
 | 
			
		||||
	"errors"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"strconv"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
@@ -59,7 +58,7 @@ func Notifications(c *context.Context) {
 | 
			
		||||
 | 
			
		||||
func getNotifications(c *context.Context) {
 | 
			
		||||
	var (
 | 
			
		||||
		keyword = strings.Trim(c.FormString("q"), " ")
 | 
			
		||||
		keyword = c.FormTrim("q")
 | 
			
		||||
		status  models.NotificationStatus
 | 
			
		||||
		page    = c.FormInt("page")
 | 
			
		||||
		perPage = c.FormInt("perPage")
 | 
			
		||||
@@ -144,9 +143,9 @@ func getNotifications(c *context.Context) {
 | 
			
		||||
// NotificationStatusPost is a route for changing the status of a notification
 | 
			
		||||
func NotificationStatusPost(c *context.Context) {
 | 
			
		||||
	var (
 | 
			
		||||
		notificationID, _ = strconv.ParseInt(c.Req.PostFormValue("notification_id"), 10, 64)
 | 
			
		||||
		statusStr         = c.Req.PostFormValue("status")
 | 
			
		||||
		status            models.NotificationStatus
 | 
			
		||||
		notificationID = c.FormInt64("notification_id")
 | 
			
		||||
		statusStr      = c.FormString("status")
 | 
			
		||||
		status         models.NotificationStatus
 | 
			
		||||
	)
 | 
			
		||||
 | 
			
		||||
	switch statusStr {
 | 
			
		||||
 
 | 
			
		||||
@@ -187,7 +187,7 @@ func Profile(ctx *context.Context) {
 | 
			
		||||
		orderBy = models.SearchOrderByRecentUpdated
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	keyword := strings.Trim(ctx.FormString("q"), " ")
 | 
			
		||||
	keyword := ctx.FormTrim("q")
 | 
			
		||||
	ctx.Data["Keyword"] = keyword
 | 
			
		||||
	switch tab {
 | 
			
		||||
	case "followers":
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user