mirror of
https://gitee.com/XM-GO/PandaX.git
synced 2026-04-23 10:58:35 +08:00
规则链结构优化
This commit is contained in:
@@ -23,27 +23,26 @@ func (f transformDeleteKeyNodeFactory) Create(id string, meta Metadata) (Node, e
|
||||
return decodePath(meta, node)
|
||||
}
|
||||
|
||||
func (n *transformDeleteKeyNode) Handle(msg message.Message) error {
|
||||
logrus.Infof("%s handle message '%s'", n.Name(), msg.GetType())
|
||||
func (n *transformDeleteKeyNode) Handle(msg *message.Message) error {
|
||||
logrus.Infof("%s handle message '%s'", n.Name(), msg.MsgType)
|
||||
|
||||
successLabelNode := n.GetLinkedNode("Success")
|
||||
failureLabelNode := n.GetLinkedNode("Failure")
|
||||
keys := strings.Split(n.Keys, ",")
|
||||
if n.FormType == "msg" {
|
||||
data := msg.GetMsg()
|
||||
data := msg.Msg
|
||||
for _, key := range keys {
|
||||
if _, found := data[key]; found {
|
||||
delete(data, key)
|
||||
msg.SetMsg(data)
|
||||
msg.Msg = data
|
||||
}
|
||||
}
|
||||
} else if n.FormType == "metadata" {
|
||||
data := msg.GetMetadata()
|
||||
data := msg.Metadata
|
||||
for _, key := range keys {
|
||||
if data.GetKeyValue(key) != nil {
|
||||
values := data.GetValues()
|
||||
delete(values, key)
|
||||
msg.SetMetadata(message.NewDefaultMetadata(values))
|
||||
if data.GetValue(key) != nil {
|
||||
delete(data, key)
|
||||
msg.Metadata = data
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user