add ApiHandler
This commit is contained in:
parent
136178a1c1
commit
92b821a12d
19
api.go
19
api.go
@ -77,6 +77,8 @@ func middlewareMyApiEngine() gin.HandlerFunc {
|
||||
defer log.Cleanup()
|
||||
|
||||
// Step 2. init *api.Context
|
||||
req := c.Request
|
||||
log.DebugfWithDepth(1, "[%s|%s|%s]", req.Method, req.Host, req.RequestURI)
|
||||
cc := New(c)
|
||||
c.Set("cc", cc)
|
||||
|
||||
@ -96,6 +98,23 @@ func defaultLogidGetter(c *gin.Context) (logid string) {
|
||||
panic("unreachable code")
|
||||
}
|
||||
|
||||
func CC(c *gin.Context) *Context {
|
||||
if icc, ok := c.Get("cc"); !ok {
|
||||
log.Errorf("Unreachable Code: can not get cc(*api.Context) from *gin.Context")
|
||||
} else if cc, ok := icc.(*Context); !ok {
|
||||
log.Debugf("Unreachable Code: cc from *gin.Context is type of:[%s]", reflect.TypeOf(icc).String())
|
||||
log.Errorf("Unreachable Code: cc from *gin.Context is not type of *api.Context")
|
||||
} else {
|
||||
return cc
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func ApiHandler(c *gin.Context) Handler {
|
||||
cc := CC(c)
|
||||
return cc.ApiHandler()
|
||||
}
|
||||
|
||||
func DumpHandler(c *Context) error {
|
||||
errmsg := "api not implemented"
|
||||
errcode := errCodeUnimplementApi
|
||||
|
@ -57,9 +57,6 @@ func (c *Context) TryRecover() {
|
||||
}
|
||||
|
||||
func (c *Context) BindInput(i interface{}) (err error) {
|
||||
req := c.Request
|
||||
log.DebugfWithDepth(1, "[%s|%s|%s]", req.Method, req.Host, req.RequestURI)
|
||||
|
||||
logstr := fmt.Sprintf("input:[have not initialized]")
|
||||
defer func(plogstr *string) {
|
||||
log.DebugfWithDepth(2, "%s", *plogstr)
|
||||
@ -186,7 +183,7 @@ func (c *Context) ShapeOutput(o interface{}) {
|
||||
return
|
||||
}
|
||||
|
||||
func (c *Context) Handler() Handler {
|
||||
func (c *Context) ApiHandler() Handler {
|
||||
h := c.Context.Handler()
|
||||
if handler, ok := handlerMapper[fmt.Sprintf("%v", h)]; ok {
|
||||
return handler
|
||||
|
Loading…
Reference in New Issue
Block a user