@@ -48,7 +48,7 @@ type EventData struct {
4848 Error string `json:"error,omitempty"`
4949
5050 // Raw is the raw event data for debugging
51- Raw map [string ]interface {} `json:"-"`
51+ Raw map [string ]any `json:"-"`
5252
5353 // EventType is the type of event (cert_obtained, cert_renewed, cert_expired)
5454 EventType string `json:"event_type"`
@@ -57,7 +57,7 @@ type EventData struct {
5757// Event handlers for certificate lifecycle events
5858
5959// subscribeToEvents registers handlers for certificate events
60- func (h * WebhookHandler ) subscribeToEvents (ctx caddy.Context ) error {
60+ func (h * CertWebhookApp ) subscribeToEvents (ctx caddy.Context ) error {
6161 // Get the events app from context
6262 eventsAppIface , err := ctx .App ("events" )
6363 if err != nil {
@@ -80,13 +80,11 @@ func (h *WebhookHandler) subscribeToEvents(ctx caddy.Context) error {
8080 }
8181 h .logger .Info (LogMsgSubscribedToCertObtained )
8282
83- // Subscribe to cert_renewed event
8483 if err := eventsApp .On (EventCertRenewed , h ); err != nil {
8584 return fmt .Errorf ("failed to subscribe to cert_renewed event: %w" , err )
8685 }
8786 h .logger .Info (LogMsgSubscribedToCertRenewed )
8887
89- // Subscribe to cert_expired event
9088 if err := eventsApp .On (EventCertExpired , h ); err != nil {
9189 return fmt .Errorf ("failed to subscribe to cert_expired event: %w" , err )
9290 }
@@ -96,20 +94,22 @@ func (h *WebhookHandler) subscribeToEvents(ctx caddy.Context) error {
9694}
9795
9896// Handle implements caddyevents.Handler interface to process certificate events
99- func (h * WebhookHandler ) Handle (ctx context.Context , data caddy.Event ) error {
97+ func (h * CertWebhookApp ) Handle (ctx context.Context , data caddy.Event ) error {
10098 eventName := data .Name ()
10199
102100 switch eventName {
103101 case EventCertObtained , EventCertRenewed , EventCertExpired :
104- return h .handleCertEvent (ctx , eventName , data )
102+ return h .handleCertEvent (eventName , data )
105103 default :
106104 h .logger .Warn (LogMsgUnknownEventType , zap .String ("event" , eventName ))
107105 return nil
108106 }
109107}
110108
111109// handleCertEvent processes certificate lifecycle events (obtained, renewed, expired)
112- func (h * WebhookHandler ) handleCertEvent (ctx context.Context , eventType string , data caddy.Event ) error {
110+ func (h * CertWebhookApp ) handleCertEvent (eventType string , data caddy.Event ) error {
111+ h .logger .Debug ("handling cert event" , zap .String ("event_type" , eventType ))
112+
113113 eventData , err := h .extractEventData (eventType , data )
114114 if err != nil {
115115 h .logger .Error (LogMsgFailedToExtractEventData ,
@@ -132,14 +132,14 @@ func (h *WebhookHandler) handleCertEvent(ctx context.Context, eventType string,
132132 zap .String ("status" , string (status )),
133133 zap .String ("timestamp" , eventData .Timestamp ))
134134
135- return h .sendWebhook (ctx , eventData .Domain , status , eventData .Error , eventData .Timestamp )
135+ return h .sendWebhook (eventData .Domain , status , eventData .Error , eventData .Timestamp )
136136}
137137
138138// extractEventData extracts domain, timestamp, and error information from Caddy event data
139- func (h * WebhookHandler ) extractEventData (eventType string , event caddy.Event ) (* EventData , error ) {
139+ func (h * CertWebhookApp ) extractEventData (eventType string , event caddy.Event ) (* EventData , error ) {
140140 data := & EventData {
141141 EventType : eventType ,
142- Raw : make (map [string ]interface {} ),
142+ Raw : make (map [string ]any ),
143143 }
144144
145145 if len (event .Data ) == 0 {
@@ -150,7 +150,8 @@ func (h *WebhookHandler) extractEventData(eventType string, event caddy.Event) (
150150 return nil , fmt .Errorf ("failed to unmarshal event data: %w" , err )
151151 }
152152
153- // Extract timestamp from event data, default to current time
153+ h .logger .Debug ("raw event data decoded" , zap .Any ("data" , data .Raw ))
154+
154155 if ts , ok := data .Raw ["ts" ].(float64 ); ok {
155156 sec := int64 (ts )
156157 nsec := int64 ((ts - float64 (sec )) * 1e9 )
@@ -161,13 +162,14 @@ func (h *WebhookHandler) extractEventData(eventType string, event caddy.Event) (
161162
162163 if domain , ok := data .Raw ["domain" ].(string ); ok {
163164 data .Domain = domain
164- } else if san , ok := data .Raw ["sans" ].([]interface {} ); ok && len (san ) > 0 {
165+ } else if san , ok := data .Raw ["sans" ].([]any ); ok && len (san ) > 0 {
165166 if d , ok := san [0 ].(string ); ok {
166167 data .Domain = d
167168 }
168169 }
169170
170171 if data .Domain == "" {
172+ h .logger .Debug ("no domain found in event data" )
171173 return nil , fmt .Errorf ("no domain found in event data" )
172174 }
173175
@@ -179,7 +181,7 @@ func (h *WebhookHandler) extractEventData(eventType string, event caddy.Event) (
179181}
180182
181183// decodeJSON decodes JSON data from map[string]any to target
182- func decodeJSON (data map [string ]any , target interface {} ) error {
184+ func decodeJSON (data map [string ]any , target any ) error {
183185 jsonBytes , err := json .Marshal (data )
184186 if err != nil {
185187 return err
0 commit comments