本文整理汇总了Golang中github.com/gocraft/web.Router类的典型用法代码示例。如果您正苦于以下问题:Golang Router类的具体用法?Golang Router怎么用?Golang Router使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Router类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: addMiddleware
func addMiddleware(router *web.Router, middleware interface{}) *web.Router {
genMiddleware := middleware.([]interface{})
for _, middleware := range genMiddleware {
_ = router.Middleware(middleware)
}
return router
}
示例2: InitPProfRouter
// InitPProfRouter adds the routes for PProf.
func InitPProfRouter(parentRouter *web.Router) {
// Setup the /pprof subrouter.
pprofRouter := parentRouter.Subrouter(Context{}, "/debug/pprof")
pprofRouter.Get("/", (*Context).Index)
pprofRouter.Get("/heap", (*Context).Heap)
pprofRouter.Get("/goroutine", (*Context).Goroutine)
pprofRouter.Get("/threadcreate", (*Context).Threadcreate)
pprofRouter.Get("/block", (*Context).Threadcreate)
pprofRouter.Get("/profile", (*Context).Profile)
pprofRouter.Get("/symbol", (*Context).Symbol)
}
示例3: InstallHandler
func InstallHandler(rootRouter *web.Router, rc *RunningContext) {
runningContext = rc
c := context{}
v2 := rootRouter.Subrouter(c, "/v2").
Middleware((*context).commonHeader)
v2.Subrouter(c, "/token").
Middleware((*context).parseRequest).
Middleware((*context).authAccess).
Get("/", (*context).writeToken)
}
示例4: addRoutes
func addRoutes(baseRouter *web.Router, globalContext interface{}, routeConfs map[string]map[Method]interface{}) error {
for routeName, routeConf := range routeConfs {
var router *web.Router
if routeConf[Middleware] != nil {
router = baseRouter.Subrouter(globalContext, routeName)
routeName = "/"
addMiddleware(router, routeConf[Middleware])
} else {
router = baseRouter
}
v := reflect.ValueOf(router)
for detourMethod, handler := range routeConf {
if detourMethod == Middleware {
continue
}
methodFn := v.MethodByName(string(detourMethod))
_ = methodFn.Call([]reflect.Value{reflect.ValueOf(routeName), reflect.ValueOf(handler)})
}
}
return nil
}