diff --git a/context/context.go b/context/context.go index ba7eef47..d2de3887 100644 --- a/context/context.go +++ b/context/context.go @@ -1,9 +1,8 @@ package context import ( - "net/http" - "github.com/astaxie/beego/middleware" + "net/http" ) type Context struct { @@ -22,12 +21,12 @@ func (ctx *Context) Abort(status int, body string) { ctx.Output.SetStatus(status) ctx.Output.Body([]byte(body)) - if e, ok := middleware.HTTPExceptionMaps[status]; ok { - if len(body) >= 1 { - e.Description = body - } - panic(e) - } + if e, ok := middleware.HTTPExceptionMaps[status]; ok { + if len(body) >= 1 { + e.Description = body + } + panic(e) + } } func (ctx *Context) WriteString(content string) { diff --git a/context/input.go b/context/input.go index 5ec0abbb..f109f4b3 100644 --- a/context/input.go +++ b/context/input.go @@ -11,15 +11,17 @@ import ( type BeegoInput struct { CruSession session.SessionStore - Param map[string]string + Params map[string]string + Data map[interface{}]interface{} req *http.Request RequestBody []byte } func NewInput(req *http.Request) *BeegoInput { return &BeegoInput{ - Param: make(map[string]string), - req: req, + Params: make(map[string]string), + Data: make(map[interface{}]interface{}), + req: req, } } @@ -129,8 +131,8 @@ func (input *BeegoInput) UserAgent() string { return input.Header("User-Agent") } -func (input *BeegoInput) Params(key string) string { - if v, ok := input.Param[key]; ok { +func (input *BeegoInput) Param(key string) string { + if v, ok := input.Params[key]; ok { return v } return "" @@ -164,3 +166,14 @@ func (input *BeegoInput) Body() []byte { input.RequestBody = requestbody return requestbody } + +func (input *BeegoInput) GetData(key interface{}) interface{} { + if v, ok := input.Data[key]; ok { + return v + } + return nil +} + +func (input *BeegoInput) SetData(key, val interface{}) { + input.Data[key] = val +}