From cbdd3a4f8e92cfadf1fc1e88edae6f0c2f51777c Mon Sep 17 00:00:00 2001 From: Henrique Dias <hacdias@gmail.com> Date: Sat, 3 Jun 2017 14:28:16 +0100 Subject: [PATCH] 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 --- caddy/caddymain/run.go | 2 +- plugins.go | 6 +++--- sigtrap.go | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/caddy/caddymain/run.go b/caddy/caddymain/run.go index 0eebe0108..b88997192 100644 --- a/caddy/caddymain/run.go +++ b/caddy/caddymain/run.go @@ -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) diff --git a/plugins.go b/plugins.go index aaaa57fd2..a753ae948 100644 --- a/plugins.go +++ b/plugins.go @@ -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) diff --git a/sigtrap.go b/sigtrap.go index 3be3b3300..a456434bb 100644 --- a/sigtrap.go +++ b/sigtrap.go @@ -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 {