Beego запрос цикла крючки - PullRequest
0 голосов
/ 20 мая 2019

Я хочу знать, есть ли в Beego несколько хуков, которые я могу использовать для каждого запроса в приложении, чтобы внедрить некоторую функциональность. Например, BeforeControllerLoads или AfterInitRequestLoads. Я не нашел ни одного из подобных крючков. Крючки ORM не подходят. Спасибо

1 Ответ

0 голосов
/ 25 мая 2019

В контроллер у вас есть и Prepare и Finish:

// Prepare runs after Init before request function execution.
func (c *Controller) Prepare() {}

// Finish runs after request function execution.
func (c *Controller) Finish() {}

Также через фильтры вы можете вставить любой крючок:

beego.InsertFilter("/user/:id([0-9]+)", beego.BeforeRouter, FilterUser)

У вас есть разные точки исполнения:

// default filter execution points
const (
    BeforeStatic = iota
    BeforeRouter
    BeforeExec
    AfterExec
    FinishRouter
)

https://github.com/astaxie/beego/blob/develop/controller.go https://github.com/astaxie/beego/blob/develop/router.go

...