summaryrefslogtreecommitdiffstats
path: root/modules/context/api.go
diff options
context:
space:
mode:
authorUnknwon <u@gogs.io>2016-03-13 18:49:16 -0400
committerUnknwon <u@gogs.io>2016-03-13 18:49:16 -0400
commitdd6faf7f9bd0a1dbf986e124ea0f4db249e1da48 (patch)
tree7f9e4107eb961712a56160ef544143eee3771653 /modules/context/api.go
parentdb4da7beecd6a8f65bfa264ba18a8cb12303921f (diff)
downloadgitea-dd6faf7f9bd0a1dbf986e124ea0f4db249e1da48.tar.gz
gitea-dd6faf7f9bd0a1dbf986e124ea0f4db249e1da48.zip
Convert all API handers to use *context.APIContext
Diffstat (limited to 'modules/context/api.go')
-rw-r--r--modules/context/api.go23
1 files changed, 23 insertions, 0 deletions
diff --git a/modules/context/api.go b/modules/context/api.go
index 0c0cce8cab..44232d71a6 100644
--- a/modules/context/api.go
+++ b/modules/context/api.go
@@ -6,12 +6,35 @@ package context
import (
"gopkg.in/macaron.v1"
+
+ "github.com/gogits/gogs/modules/base"
+ "github.com/gogits/gogs/modules/log"
)
type APIContext struct {
*Context
}
+// 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(4, "%s: %s", title, message)
+ }
+
+ ctx.JSON(status, map[string]string{
+ "message": message,
+ "url": base.DOC_URL,
+ })
+}
+
func APIContexter() macaron.Handler {
return func(c *Context) {
ctx := &APIContext{