diff --git a/cmd/rpc/open_im_msg/filters/mock.go b/cmd/rpc/open_im_msg/filters/mock.go index 71ab4030f..b2b12cd7a 100644 --- a/cmd/rpc/open_im_msg/filters/mock.go +++ b/cmd/rpc/open_im_msg/filters/mock.go @@ -37,3 +37,16 @@ func MockBeforeSendFilter2(ctx *rpcChat.SendContext, pb *pbChat.SendMsgReq) (*pb return nil, true, nil } + +// MockAfterSendFilter is a mock handle that handles custom logic after send msg. +func MockAfterSendFilter(ctx *rpcChat.SendContext, pb *pbChat.SendMsgReq, res *pbChat.SendMsgResp) (*pbChat.SendMsgResp, bool, error) { + ctxKey := "test_key" + v, ok := ctx.Value(ctxKey).(bool) + if ok { + fmt.Printf("MockAfterSendFilter:%s selected from ctx,value is :%v\n", ctxKey, v) + } + + fmt.Printf("MockAfterSendFilter trigger,contentType:%d\n", pb.MsgData.GetContentType()) + + return res, true, nil +} diff --git a/cmd/rpc/open_im_msg/main.go b/cmd/rpc/open_im_msg/main.go index 382ed3b6e..090e31a7e 100644 --- a/cmd/rpc/open_im_msg/main.go +++ b/cmd/rpc/open_im_msg/main.go @@ -15,6 +15,8 @@ func main() { // mock 注册发送前的拦截器 rpcServer.UseBeforSendFilters(filters.MockBeforeSendFilter1, filters.MockBeforeSendFilter2) + rpcServer.UseAfterSendFilters(filters.MockAfterSendFilter) + // rpcServer.Run() }