curl --location --request POST 'http://localhost:8081/v1/rules' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJDUDciLCJleHAiOjE2MjE1NzcxMjEsImp0aSI6ImFkbWluIiwiaWF0IjoxNjIxNTY5OTIxLCJpc3MiOiJjb29scHkubmV0IiwibmJmIjoxNjIxNTY5OTIxfQ.cE1YusJXYQbrU2Pa9gl6gqqsf93rkHB4ePNiXuDSdeg' \
--header 'Content-Type: text/plain' \
--data-raw 'rule "rule1" "rule-describtion" salience 10
begin
//过滤主题为aaa的消息才进行处理
if Message.Topic == "aaa" {
//反序列化消息中的载体
payload = Core.FromJson(Message.Payload)
//判断消息载体是否为空
if isNil(payload) {
println("parse error")
return
}
//实例化一个map用于转换消息体格式
res = Core.MakeMap()
//把原消息的msg内容付值到新消息体的m键中
res["m"] = payload["msg"]
//序列化新的消息体为json
reMsg = Core.ToJson(res)
//传送序列化是否失败
if isNil(reMsg) {
println("format error")
return
}
//打印序列化结果于服务端
println(Core.String(reMsg))
//通过http转发消息
//实例化一个map用于转换消息体格式
header = Core.MakeMap()
header["Authorization"] = "Bearer " + "token"
err = Core.Http("http://localhost:8081/v1/test","POST",header,reMsg,2)
if err != "" {
println("format error")
}
}
end'