mirror of
https://github.com/caddyserver/caddy.git
synced 2025-04-06 10:16:21 +03:00
Add ExtraInfo to EventHook (#1692)
* Update plugins.go * Add extraInfo to eventHook * Add extraInfo to eventHook * Update run.go * Update run.go * Update run.go
This commit is contained in:
parent
6b8e40b3fb
commit
cbdd3a4f8e
3 changed files with 5 additions and 5 deletions
|
@ -101,7 +101,7 @@ func Run() {
|
|||
}
|
||||
|
||||
// Executes Startup events
|
||||
caddy.EmitEvent(caddy.StartupEvent)
|
||||
caddy.EmitEvent(caddy.StartupEvent, nil)
|
||||
|
||||
// Get Caddyfile input
|
||||
caddyfileinput, err := caddy.LoadCaddyfile(serverType)
|
||||
|
|
|
@ -224,7 +224,7 @@ const (
|
|||
)
|
||||
|
||||
// EventHook is a type which holds information about a startup hook plugin.
|
||||
type EventHook func(eventType EventName) error
|
||||
type EventHook func(eventType EventName, eventInfo interface{}) error
|
||||
|
||||
// RegisterEventHook plugs in hook. All the hooks should register themselves
|
||||
// and they must have a name.
|
||||
|
@ -241,9 +241,9 @@ func RegisterEventHook(name string, hook EventHook) {
|
|||
// EmitEvent executes the different hooks passing the EventType as an
|
||||
// argument. This is a blocking function. Hook developers should
|
||||
// use 'go' keyword if they don't want to block Caddy.
|
||||
func EmitEvent(event EventName) {
|
||||
func EmitEvent(event EventName, info interface{}) {
|
||||
for name, hook := range eventHooks {
|
||||
err := hook(event)
|
||||
err := hook(event, info)
|
||||
|
||||
if err != nil {
|
||||
log.Printf("error on '%s' hook: %v", name, err)
|
||||
|
|
|
@ -53,7 +53,7 @@ func trapSignalsCrossPlatform() {
|
|||
func executeShutdownCallbacks(signame string) (exitCode int) {
|
||||
shutdownCallbacksOnce.Do(func() {
|
||||
// execute third-party shutdown hooks
|
||||
EmitEvent(ShutdownEvent)
|
||||
EmitEvent(ShutdownEvent, signame)
|
||||
|
||||
errs := allShutdownCallbacks()
|
||||
if len(errs) > 0 {
|
||||
|
|
Loading…
Reference in a new issue