From d74ecb244453854a0828d1c90481c9d18c65ccb1 Mon Sep 17 00:00:00 2001 From: Anthony Rubick <68485672+AnthonyMichaelTDM@users.noreply.github.com> Date: Sun, 20 Jul 2025 22:15:05 -0700 Subject: [PATCH] fix: event deserialization --- .../mod/zoraxy_plugin/event.go | 21 +++++++++++++------ src/mod/plugins/zoraxy_plugin/event.go | 21 +++++++++++++------ 2 files changed, 30 insertions(+), 12 deletions(-) diff --git a/example/plugins/event-subscriber-example/mod/zoraxy_plugin/event.go b/example/plugins/event-subscriber-example/mod/zoraxy_plugin/event.go index 238be69..0e0924e 100644 --- a/example/plugins/event-subscriber-example/mod/zoraxy_plugin/event.go +++ b/example/plugins/event-subscriber-example/mod/zoraxy_plugin/event.go @@ -87,23 +87,32 @@ func ParseEvent(jsonData []byte, event *Event) error { // Now, based on the event type, unmarshal the specific payload switch temp.Name { case EventBlacklistedIPBlocked: - var payload BlacklistedIPBlockedEvent + type tempData struct { + Data BlacklistedIPBlockedEvent `json:"data"` + } + var payload tempData if err := json.Unmarshal(jsonData, &payload); err != nil { return err } - event.Data = &payload + event.Data = &payload.Data case EventBlacklistToggled: - var payload BlacklistToggledEvent + type tempData struct { + Data BlacklistToggledEvent `json:"data"` + } + var payload tempData if err := json.Unmarshal(jsonData, &payload); err != nil { return err } - event.Data = &payload + event.Data = &payload.Data case EventAccessRuleCreated: - var payload AccessRuleCreatedEvent + type tempData struct { + Data AccessRuleCreatedEvent `json:"data"` + } + var payload tempData if err := json.Unmarshal(jsonData, &payload); err != nil { return err } - event.Data = &payload + event.Data = &payload.Data default: return fmt.Errorf("unknown event: %s, %v", temp.Name, jsonData) } diff --git a/src/mod/plugins/zoraxy_plugin/event.go b/src/mod/plugins/zoraxy_plugin/event.go index 238be69..0e0924e 100644 --- a/src/mod/plugins/zoraxy_plugin/event.go +++ b/src/mod/plugins/zoraxy_plugin/event.go @@ -87,23 +87,32 @@ func ParseEvent(jsonData []byte, event *Event) error { // Now, based on the event type, unmarshal the specific payload switch temp.Name { case EventBlacklistedIPBlocked: - var payload BlacklistedIPBlockedEvent + type tempData struct { + Data BlacklistedIPBlockedEvent `json:"data"` + } + var payload tempData if err := json.Unmarshal(jsonData, &payload); err != nil { return err } - event.Data = &payload + event.Data = &payload.Data case EventBlacklistToggled: - var payload BlacklistToggledEvent + type tempData struct { + Data BlacklistToggledEvent `json:"data"` + } + var payload tempData if err := json.Unmarshal(jsonData, &payload); err != nil { return err } - event.Data = &payload + event.Data = &payload.Data case EventAccessRuleCreated: - var payload AccessRuleCreatedEvent + type tempData struct { + Data AccessRuleCreatedEvent `json:"data"` + } + var payload tempData if err := json.Unmarshal(jsonData, &payload); err != nil { return err } - event.Data = &payload + event.Data = &payload.Data default: return fmt.Errorf("unknown event: %s, %v", temp.Name, jsonData) }