重构
This commit is contained in:
42
core/interceptor/global.go
Normal file
42
core/interceptor/global.go
Normal file
@@ -0,0 +1,42 @@
|
||||
package interceptor
|
||||
|
||||
import (
|
||||
"encoding/hex"
|
||||
"fmt"
|
||||
"omc/core/parse"
|
||||
"time"
|
||||
|
||||
"github.com/aceld/zinx/ziface"
|
||||
)
|
||||
|
||||
type GlobalInterceptor struct{}
|
||||
|
||||
func (m *GlobalInterceptor) Intercept(chain ziface.IChain) ziface.IcResp {
|
||||
request := chain.Request() //从责任链中获取当前拦截器的输入数据
|
||||
|
||||
// 这一层是自定义拦截器处理逻辑,这里只是简单打印输入
|
||||
iRequest := request.(ziface.IRequest) //注意:由于Zinx的Request类型,这里需要做一下断言转换
|
||||
|
||||
fmt.Println("\n\n=========自定义拦截器=====")
|
||||
|
||||
body, err := parse.RequestBodyDecode(iRequest, nil)
|
||||
fmt.Printf("消息ID: %v \n", iRequest.GetMsgID())
|
||||
fmt.Printf("原始数据: %v \n", body.RawData)
|
||||
fmt.Printf("原始字符: %v \n", hex.EncodeToString(body.RawData))
|
||||
fmt.Printf("原始字符: %v \n", string(body.RawData))
|
||||
fmt.Printf("用户ID: %v \n", body.UID)
|
||||
fmt.Printf("收到消息: %v %v \n", body.Name, body.Data)
|
||||
fmt.Printf("错误:%v \n", err)
|
||||
|
||||
// return chain.Proceed(chain.Request()) //进入并执行下一个拦截器
|
||||
|
||||
iMessage := chain.GetIMessage()
|
||||
resp := chain.ProceedWithIMessage(iMessage, iRequest)
|
||||
fmt.Printf("目标消息ID: %v \n", iMessage.GetMsgID())
|
||||
fmt.Printf("收到消息长度: %v \n", iMessage.GetDataLen())
|
||||
fmt.Printf("信息时间:%v \n", time.Now().String())
|
||||
|
||||
fmt.Print("=========自定义拦截器=====\n\n\n")
|
||||
|
||||
return resp
|
||||
}
|
||||
Reference in New Issue
Block a user