diff options
Diffstat (limited to 'modules/context/api.go')
-rw-r--r-- | modules/context/api.go | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/modules/context/api.go b/modules/context/api.go deleted file mode 100644 index a499ec3c..00000000 --- a/modules/context/api.go +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright 2016 The Gogs Authors. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package context - -import ( - "fmt" - "strings" - - "github.com/Unknwon/paginater" - log "gopkg.in/clog.v1" - "gopkg.in/macaron.v1" - - "github.com/gogits/gogs/modules/base" - "github.com/gogits/gogs/modules/setting" -) - -type APIContext struct { - *Context - Org *APIOrganization -} - -// Error responses error message to client with given message. -// If status is 500, also it prints error to log. -func (ctx *APIContext) Error(status int, title string, obj interface{}) { - var message string - if err, ok := obj.(error); ok { - message = err.Error() - } else { - message = obj.(string) - } - - if status == 500 { - log.Error(3, "%s: %s", title, message) - } - - ctx.JSON(status, map[string]string{ - "message": message, - "url": base.DOC_URL, - }) -} - -// SetLinkHeader sets pagination link header by given totol number and page size. -func (ctx *APIContext) SetLinkHeader(total, pageSize int) { - page := paginater.New(total, pageSize, ctx.QueryInt("page"), 0) - links := make([]string, 0, 4) - if page.HasNext() { - links = append(links, fmt.Sprintf("<%s%s?page=%d>; rel=\"next\"", setting.AppUrl, ctx.Req.URL.Path[1:], page.Next())) - } - if !page.IsLast() { - links = append(links, fmt.Sprintf("<%s%s?page=%d>; rel=\"last\"", setting.AppUrl, ctx.Req.URL.Path[1:], page.TotalPages())) - } - if !page.IsFirst() { - links = append(links, fmt.Sprintf("<%s%s?page=1>; rel=\"first\"", setting.AppUrl, ctx.Req.URL.Path[1:])) - } - if page.HasPrevious() { - links = append(links, fmt.Sprintf("<%s%s?page=%d>; rel=\"prev\"", setting.AppUrl, ctx.Req.URL.Path[1:], page.Previous())) - } - - if len(links) > 0 { - ctx.Header().Set("Link", strings.Join(links, ",")) - } -} - -func APIContexter() macaron.Handler { - return func(c *Context) { - ctx := &APIContext{ - Context: c, - } - c.Map(ctx) - } -} |