Commit a62ed10a authored by astaxie's avatar astaxie

add supoort AppController

http://play.golang.org/p/MZptHZeYUx
parent e79d756d
...@@ -22,16 +22,17 @@ import ( ...@@ -22,16 +22,17 @@ import (
) )
type Controller struct { type Controller struct {
Ctx *context.Context Ctx *context.Context
Data map[interface{}]interface{} Data map[interface{}]interface{}
ChildName string ChildName string
TplNames string TplNames string
Layout string Layout string
TplExt string TplExt string
_xsrf_token string _xsrf_token string
gotofunc string gotofunc string
CruSession session.SessionStore CruSession session.SessionStore
XSRFExpire int XSRFExpire int
AppController interface{}
} }
type ControllerInterface interface { type ControllerInterface interface {
...@@ -48,13 +49,14 @@ type ControllerInterface interface { ...@@ -48,13 +49,14 @@ type ControllerInterface interface {
Render() error Render() error
} }
func (c *Controller) Init(ctx *context.Context, childName string) { func (c *Controller) Init(ctx *context.Context, childName string, app interface{}) {
c.Data = make(map[interface{}]interface{}) c.Data = make(map[interface{}]interface{})
c.Layout = "" c.Layout = ""
c.TplNames = "" c.TplNames = ""
c.ChildName = childName c.ChildName = childName
c.Ctx = ctx c.Ctx = ctx
c.TplExt = "tpl" c.TplExt = "tpl"
c.AppController = app
} }
func (c *Controller) Prepare() { func (c *Controller) Prepare() {
......
...@@ -448,6 +448,7 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request) ...@@ -448,6 +448,7 @@ func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request)
in := make([]reflect.Value, 2) in := make([]reflect.Value, 2)
in[0] = reflect.ValueOf(context) in[0] = reflect.ValueOf(context)
in[1] = reflect.ValueOf(runrouter.controllerType.Name()) in[1] = reflect.ValueOf(runrouter.controllerType.Name())
in[2] = reflect.ValueOf(vc.Interface())
method.Call(in) method.Call(in)
//if XSRF is Enable then check cookie where there has any cookie in the request's cookie _csrf //if XSRF is Enable then check cookie where there has any cookie in the request's cookie _csrf
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment