8 // The handler signature
9 EventHandler func(typeOf Event, value interface{}) (responseOf EventResponse)
13 // Event type when templates are going to be refreshed (receivers are registered template engines added to the template.engine conf option)
14 TEMPLATE_REFRESH_REQUESTED Event = iota
15 // Event type when templates are refreshed (receivers are registered template engines added to the template.engine conf option)
16 TEMPLATE_REFRESH_COMPLETED
17 // Event type before all module loads, events thrown to handlers added to AddInitEventHandler
19 // Event type before all module loads, events thrown to handlers added to AddInitEventHandler
20 REVEL_BEFORE_MODULES_LOADED
21 // Event type after all module loads, events thrown to handlers added to AddInitEventHandler
22 REVEL_AFTER_MODULES_LOADED
24 // Event type before server engine is initialized, receivers are active server engine and handlers added to AddInitEventHandler
25 ENGINE_BEFORE_INITIALIZED
26 // Event type before server engine is started, receivers are active server engine and handlers added to AddInitEventHandler
29 // Event raised when the engine is told to shutdown
30 ENGINE_SHUTDOWN_REQUEST
32 // Event type after server engine is stopped, receivers are active server engine and handlers added to AddInitEventHandler
35 // Called before routes are refreshed
36 ROUTE_REFRESH_REQUESTED
37 // Called after routes have been refreshed
38 ROUTE_REFRESH_COMPLETED
40 // Fired when a panic is caught during the startup process
44 // Fires system events from revel
45 func RaiseEvent(key Event, value interface{}) (response EventResponse) {
46 utilLog.Info("Raising event", "len", len(initEventList))
47 for _, handler := range initEventList {
48 response |= handler(key, value)
53 // Add event handler to listen for all system events
54 func AddInitEventHandler(handler EventHandler) {
55 initEventList = append(initEventList, handler)