aboutsummaryrefslogtreecommitdiffstats
path: root/modules/context
diff options
context:
space:
mode:
author6543 <6543@obermui.de>2021-08-12 14:43:08 +0200
committerGitHub <noreply@github.com>2021-08-12 14:43:08 +0200
commit2289580bb7ef8dfa4124c2b3bfb89897dbb35f46 (patch)
treee68aae604bb3d738b44156504a1415adaf042c68 /modules/context
parentca13e1d56c561f72cf8ad251fe61b1898abfec51 (diff)
downloadgitea-2289580bb7ef8dfa4124c2b3bfb89897dbb35f46.tar.gz
gitea-2289580bb7ef8dfa4124c2b3bfb89897dbb35f46.zip
[API] generalize list header (#16551)
* Add info about list endpoints to CONTRIBUTING.md * Let all list endpoints return X-Total-Count header * Add TODOs for GetCombinedCommitStatusByRef * Fix models/issue_stopwatch.go * Rrefactor models.ListDeployKeys * Introduce helper func and use them for SetLinkHeader related func
Diffstat (limited to 'modules/context')
-rw-r--r--modules/context/api.go17
-rw-r--r--modules/context/org.go4
2 files changed, 19 insertions, 2 deletions
diff --git a/modules/context/api.go b/modules/context/api.go
index b543c8bac8..47ea8acfe0 100644
--- a/modules/context/api.go
+++ b/modules/context/api.go
@@ -181,6 +181,23 @@ func (ctx *APIContext) SetLinkHeader(total, pageSize int) {
if len(links) > 0 {
ctx.Header().Set("Link", strings.Join(links, ","))
+ ctx.AppendAccessControlExposeHeaders("Link")
+ }
+}
+
+// SetTotalCountHeader set "X-Total-Count" header
+func (ctx *APIContext) SetTotalCountHeader(total int64) {
+ ctx.Header().Set("X-Total-Count", fmt.Sprint(total))
+ ctx.AppendAccessControlExposeHeaders("X-Total-Count")
+}
+
+// AppendAccessControlExposeHeaders append headers by name to "Access-Control-Expose-Headers" header
+func (ctx *APIContext) AppendAccessControlExposeHeaders(names ...string) {
+ val := ctx.Header().Get("Access-Control-Expose-Headers")
+ if len(val) != 0 {
+ ctx.Header().Set("Access-Control-Expose-Headers", fmt.Sprintf("%s, %s", val, strings.Join(names, ", ")))
+ } else {
+ ctx.Header().Set("Access-Control-Expose-Headers", strings.Join(names, ", "))
}
}
diff --git a/modules/context/org.go b/modules/context/org.go
index 527ccfbcaa..fd67212a10 100644
--- a/modules/context/org.go
+++ b/modules/context/org.go
@@ -123,8 +123,8 @@ func HandleOrgAssignment(ctx *Context, args ...bool) {
// Team.
if ctx.Org.IsMember {
if ctx.Org.IsOwner {
- if err := org.GetTeams(&models.SearchTeamOptions{}); err != nil {
- ctx.ServerError("GetTeams", err)
+ if err := org.LoadTeams(); err != nil {
+ ctx.ServerError("LoadTeams", err)
return
}
} else {