Middleware

A middleware is a function called before handler. A syntax to create middleware:
package app
func Middleware(ctx core.Ctx) error {
// Something
return ctx.Next()
}
Use middleware in controller:
package app
func Controller(module *core.DynamicModule) *core.DynamicController {
ctrl := module.NewController("test")
ctrl.Use(Middleware).Get("", func(ctx core.Ctx) error {
return ctx.JSON(Map{
"data": "ok",
})
})
return ctrl
}
Use middleware for all route in controller:
package app
func Controller(module *core.DynamicModule) *core.DynamicController {
ctrl := module.NewController("test").Use(Middleware).Registry()
ctrl.Get("", func(ctx core.Ctx) error {
return ctx.JSON(Map{
"data": "ok",
})
})
return ctrl
}
Use middleware for module:
package app
func Module(module *core.DynamicModule) *core.DynamicModule {
mod := module.New(core.NewModuleOptions{
Middlewares: []core.Middleware{Middleware}
})
return mod
}
Last updated