Merge branch 'ver3' of github.com:OpenIMSDK/Open-IM-Server into ver3

pull/458/head
wangchuxiao 2 years ago
commit c80d9537e8

@ -98,7 +98,7 @@ object:
externalId: externalId:
roleSessionName: roleSessionName:
rpcPort: #rpc服务端口不建议修改端口由脚本读取后传入程序如启动多个程序只需要填入多个端口用逗号隔开openImUserPort: [10110, 10111] rpcPort: #rpc服务端口不建议修改端口由脚本读取后传入程序如启动多个程序只需要填入多个端口用逗号隔开如 [10110, 10111]
openImUserPort: [ 10110 ] openImUserPort: [ 10110 ]
openImFriendPort: [ 10120 ] openImFriendPort: [ 10120 ]
openImMessagePort: [ 10130 ] openImMessagePort: [ 10130 ]

@ -2,6 +2,7 @@ package a2r
import ( import (
"context" "context"
"github.com/OpenIMSDK/Open-IM-Server/pkg/checker"
"github.com/OpenIMSDK/Open-IM-Server/pkg/apiresp" "github.com/OpenIMSDK/Open-IM-Server/pkg/apiresp"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/log" "github.com/OpenIMSDK/Open-IM-Server/pkg/common/log"
@ -21,7 +22,7 @@ func Call[A, B, C any](
apiresp.GinError(c, errs.ErrArgs.WithDetail(err.Error()).Wrap()) // 参数错误 apiresp.GinError(c, errs.ErrArgs.WithDetail(err.Error()).Wrap()) // 参数错误
return return
} }
if check, ok := any(&req).(interface{ Check() error }); ok { if check, ok := any(&req).(checker.Checker); ok {
if err := check.Check(); err != nil { if err := check.Check(); err != nil {
log.ZWarn(c, "custom check error", err, "req", req) log.ZWarn(c, "custom check error", err, "req", req)
apiresp.GinError(c, errs.ErrArgs.Wrap(err.Error())) // 参数校验失败 apiresp.GinError(c, errs.ErrArgs.Wrap(err.Error())) // 参数校验失败

@ -0,0 +1,5 @@
package checker
type Checker interface {
Check() error
}

@ -3,6 +3,7 @@ package mw
import ( import (
"context" "context"
"fmt" "fmt"
"github.com/OpenIMSDK/Open-IM-Server/pkg/checker"
"math" "math"
"runtime" "runtime"
"strings" "strings"
@ -91,6 +92,11 @@ func RpcServerInterceptor(ctx context.Context, req interface{}, info *grpc.Unary
return nil, status.New(codes.InvalidArgument, err.Error()).Err() return nil, status.New(codes.InvalidArgument, err.Error()).Err()
} }
} }
if err := req.(checker.Checker); err != nil {
if err := err.Check(); err != nil {
return nil, status.New(codes.InvalidArgument, err.Error()).Err()
}
}
log.ZInfo(ctx, "rpc server req", "funcName", funcName, "req", rpcString(req)) log.ZInfo(ctx, "rpc server req", "funcName", funcName, "req", rpcString(req))
resp, err = handler(ctx, req) resp, err = handler(ctx, req)
if err == nil { if err == nil {

Loading…
Cancel
Save